リモートLinux / WindowsマシンにアクセスするためのWebベースのGuacamoleツールのセットアップ


システム管理者は、WindowsとLinuxが共存する環境で(現在または将来)作業していることに気付くかもしれません。一部の大企業が、一部の本番サービスをWindowsボックスで実行し、他のサービスをLinuxサーバーで実行することを好む(または実行する必要がある)ことは周知の事実です。その場合は、このガイドを両手を広げて歓迎します(それ以外の場合は、少なくともブックマークに追加してください)。

この記事では、中央サーバーにインストールするだけでよい、Tomcatを搭載したリモートデスクトップゲートウェイであるguacamoleを紹介します。

Guacamoleは、同じWebブラウザウィンドウ内で、あるマシンから別のマシンにすばやく切り替えることができるWebベースのコントロールパネルを提供します。

この記事では、次のマシンを使用しました。 GuacamoleをUbuntuボックスにインストールし、それを使用して、リモートデスクトッププロトコル(RDP)経由でWindows10ボックスにアクセスします。SSHを使用してRHEL7ボックスにアクセスします。

Guacamole server: Ubuntu 14.04 - IP 192.168.0.100
SSH box: RHEL 7 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

そうは言っても、始めましょう。

Guacamoleサーバーのインストール

1. guacamoleをインストールする前に、まずその依存関係に注意する必要があります。

$ sudo apt-get install libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libssh-dev tomcat7 tomcat7-admin tomcat7-user 
# yum install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-dev tomcat tomcat-admin-webapps tomcat-webapps
# dnf install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-devel tomcat tomcat-admin-webapps tomcat-webapps

2016年2月上旬の時点で、Guacamoleの最新バージョンは0.9.9です。ダウンロードページを参照して、特定の時点での最新バージョンを見つけることができます。

# wget http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz 
# tar zxf guacamole-server-0.9.9.tar.gz 

3.ソフトウェアをコンパイルします。

# cd guacamole-server-0.9.9 
# ./configure 

予想どおり、configureは、必要な依存関係の存在とサポートされている通信プロトコルについてシステムをチェックします(強調表示された四角でわかるように、リモートデスクトッププロトコル(RDP)とSSHは、以前にインストールされた依存関係によってサポートされています) 。

すべてが期待どおりに進んだ場合は、完了時にこれが表示されるはずです(そうでない場合は、必要なすべての依存関係をインストールしたことを確認してください)。

上の画像の最後の行が示すように、 make make install を実行してプログラムをコンパイルします。

# make 
# make install

4.インストールされているライブラリのキャッシュを更新します。

# ldconfig 

Enterキーを押します。

Guacamoleクライアントのインストール

上記の手順を完了すると、ワカモレサーバーがインストールされます。次の手順は、guacd(JavascriptをRDPやSSHなどの通信プロトコルと統合するプロキシデーモン)とguacamole.war(クライアント)のセットアップに役立ちます。これは、に提示される最終的なHTML5アプリケーションを構成するコンポーネントです。君は。

両方のコンポーネント(グアカモーレサーバーとクライアント)を同じマシンにインストールする必要があることに注意してください。接続するマシンにいわゆるクライアントをインストールする必要はありません)。

クライアントをダウンロードするには、次の手順に従います。

5. Webアプリケーションアーカイブをダウンロードし、その名前をguacamole.warに変更します。

注:ディストリビューションによっては、Tomcatライブラリディレクトリが/ var/lib/tomcatにある場合があります。

# cd /var/lib/tomcat7
# wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war
# mv guacamole-0.9.9.war guacamole.war

6.構成ファイル(/etc/guacamole/guacamole.properties)を作成します。このファイルには、Guacamoleがguacdに接続するための手順が含まれています。

# mkdir /etc/guacamole
# mkdir /usr/share/tomcat7/.guacamole

以下の内容を/etc/guacamole/guacamole.propertiesに挿入します。次のステップで作成するファイル(/etc/guacamole/user-mapping.xml)を参照していることに注意してください。

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping:    /etc/guacamole/user-mapping.xml

そして、Tomcatがファイルを読み取れるようにするためのシンボリックリンクを作成します。

# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/

7. Guacamoleはuser-mapping.xmlを使用し、このファイルを作成して、Guacamole Webインターフェイスへの認証を許可するユーザー( タグ間)と使用できる接続(<の間)を定義します。 code> タグ):

次のユーザーマッピングは、パスワードtecmint01を使用してユーザー tecmint にGuacamoleWebインターフェイスへのアクセスを許可します。次に、SSH接続内で、RHELボックスにログインするための有効なユーザー名を入力する必要があります(Guacamoleが接続を開始すると、対応するパスワードを入力するように求められます)。

Windows 10ボックスの場合、RDP経由のログイン画面が表示されるため、これを行う必要はありません。

パスワードtecmint01のmd5ハッシュを取得するには、次のコマンドを入力します。

# printf '%s' "tecmint01" | md5sum

次に、コマンドの出力を タグ内のパスワードフィールドに挿入します。

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 7">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

機密情報を含むすべてのファイルの場合と同様に、アクセス許可を制限し、 user-mapping.xml ファイルの所有権を変更することが重要です。

# chmod 600 /etc/guacamole/user-mapping.xml
# chown tomcat7:tomcat7 /etc/guacamole/user-mapping.xml

Tomcatとguacdを起動します。

# service tomcat7 start
# /usr/local/sbin/guacd &

GuacamoleWebインターフェイスの起動

8. Guacamole Webインターフェースにアクセスするには、ブラウザーを起動して http:// server:8080/guacamole をポイントします。ここで、serverはサーバーのホスト名またはIPアドレスです(この場合は< code> http://192.168.0.100:8080/guacamole )、前に指定した資格情報(ユーザー名:tecmint、パスワード:tecmint01)でログインします。

9. [ログイン]をクリックすると、管理インターフェイスが表示され、 user-mapping.xml に従って、ユーザーtecmintがアクセスできる接続のリストが表示されます。

10.先に進み、RHEL 7ボックスをクリックして、gacanepa(接続定義で指定されたユーザー名)としてログインします。

Webインターフェイスを開くために使用するマシンのIPアドレスに関係なく、接続ソースが192.168.0.100(GuacamoleサーバーのIP)に設定されていることに注意してください。

11.接続を閉じる場合は、exitと入力してEnterキーを押します。メインインターフェイス(ホーム)に戻るか、再接続するか、Guacamoleからログアウトするように求められます。

12.次に、Windows10へのリモートデスクトップ接続を試してみましょう。

おめでとう!これで、Webブラウザー内からWindows10マシンとRHEL7サーバーにアクセスできます。

概要

この記事では、RDPおよびSSHを介したリモートマシンへのアクセスを許可するようにGuacamoleをインストールおよび構成する方法について説明しました。公式Webサイトには、VNCなどの他のプロトコルやDBベースなどの他の認証メカニズムを使用してアクセスを設定するのに役立つ広範なドキュメントが用意されています。

いつものように、この記事について質問や提案があれば、遠慮なく私たちにメモを送ってください。また、皆様のサクセスストーリーをお待ちしております。

参照リンク:http://guac-dev.org/