オープンソース

Top

5. Apache GuacamoleからSSH接続可能なホストの登録

Apache Guacamoleを介して、遠隔にあるコンピュータへ接続するためには、事前に接続先の情報を登録する必要があります。

本章では、Apache GuacamoleからSSH接続可能なホストの登録方法について解説します。

5.1. SSH接続の追加

Apache Guacamoleから接続するリモートホストの登録は、設定画面の 接続 タブから接続管理画面を開いて行います。 接続管理画面から 接続の追加 ボタンをクリックします。

_images/connection.png

表示されたフォームに、追加する接続先の情報を登録します。

5.2. 基本設定

ここでは、Apache GuacamoleからSSH接続を行うために必要な基本設定について解説します。

Apache GuacamoleからSSH接続を行うために必要な基本設定の項目は以下の通りです。

_images/sshbase.png _images/sshbase2.png
  • 名前
    • 接続先の名前を指定します
  • ロケーション
    • 接続グループを指定します
  • プロトコル
    • プロトコルを指定します
    • ここではSSHを選択します
  • 最大接続数
    • 接続先への最大接続数を指定します
    • デフォルトは1です
  • ユーザ毎の最大接続数
    • ユーザあたりの最大接続数を指定します
    • デフォルトは1です

Note

接続後に障害などで再接続が必要となった場合、ユーザごとの最大接続数を1に設定していると、セッションの関係で再接続ができなくなる可能性があります。そのため設定値は2以上を推奨します。

  • ネットワークホスト名
    • 接続するSSHサーバのホスト名またはIPアドレスを指定します
  • ネットワークポート
    • SSHサーバがリッスンしているポートを指定します
    • 指定しない場合はデフォルトの22が適用されます
  • 公開鍵(Base64)
    • 接続される側(SSHサーバ側)の公開鍵を登録します
    • 指定しない場合、ホストIDの検証は行われません

Note

公開鍵に登録する形式は、OpenSSHのknown_hostsファイル内に登録される公開鍵の形式である必要があります。 接続先のホストが既知の信頼できるホストであることを確認するためには公開鍵を登録するようにしてください。

5.3. 環境に合わせて設定する項目

本章以降では、SSH接続を登録する際に、環境に合わせて設定するべき以下の設定について解説します。

  • 認証設定
  • ディスプレイ設定
  • コピー&ペーストの許可設定
  • 画面操作の録画設定

5.4. 認証設定

認証設定を省略した場合、SSHサーバへの接続時にユーザー名とパスワードが求められます。 そのため、Apache Guacamoleから接続するユーザは、接続先のログイン情報を知っている必要があります。

認証設定を行うと、Apache Guacamoleが設定された情報で認証を行います。そのため、Apache Guacamoleから接続するユーザに接続先のログイン情報を知らせずともログインを行うことができるようになります。

また、公開鍵認証方式を設定することも可能です。これによりSSH接続のセキュリティを強化することができます。

_images/sshauth.png
  • ユーザ名
    • Apache Guacamoleが接続先に自動ログインする時に使用するユーザー名を指定します
  • パスワード
    • Apache Guacamoleが接続先に自動ログインする時に使用するパスワードを指定します
  • 秘密鍵
    • Apache Guacamoleが公開鍵認証に使用する秘密鍵を指定します
    • 指定しない場合、公開鍵認証は使用されません
  • パスフレーズ
    • Apache Guacamoleが公開鍵認証で使用する秘密鍵を復号化するためのパスフレーズを指定します
    • 指定しない場合、接続時にパスフレーズの入力を求められます
    • 秘密鍵がパスフレーズを必要としない場合、このパラメーターは必要ありません

Note

秘密鍵は -----BEGIN RSA PRIVATE KEY----- で始まるOpenSSH形式である必要があります。 ただし、OpenSSH 7.8以降では、デフォルトで秘密鍵を生成した場合 -----BEGIN OPENSSH PRIVATE KEY----- で始まる形式となっています。

OpenSSH 7.8 以降で旧形式の秘密鍵を作成するためには ssh-keygen のコマンドを実行する際に -m PEM を指定してください。

5.5. コピー & ペーストの制限

端末からのコピーや、ペーストを制限することができます。 これにより、情報漏洩などのセキュリティを強化することができます。

_images/sshcopypaste.png
  • 端末からのコピーを無効化
    • チェックを入れた場合、端末からのコピーができなくなります
  • クライアントからの貼り付けを無効化
    • チェックを入れた場合、端末への貼り付けができなくなります

5.6. 画面操作の録画設定

Apache GuacamoleではSSH接続した端末の操作を記録として残すことができます。

5.6.1. テキストで記録

Apache Guacamoleの差操作をテキストとしてログを残す場合は、 タイプスクリプト (テキストの記録) の設定を行います。

_images/sshrecoding.png
  • タイプスクリプトの保存ディレクトリ
    • 記録したデータを保存するディレクトリのパスを指定します
    • この項目を入力することで画面記録が有効となります
  • タイプスクリプト名
    • ファイル名のフォーマットを指定します
    • 指定しない場合は「typescript」というファイル名で作成されます

Note

ファイル名のフォーマットには、次のようなマクロを利用することができます。

  • ${GUAC_USERNAME} : Apache Guacamoleにログインした際のユーザID
  • ${GUAC_CLIENT_ADDRESS} :ログイン時のクライアントの接続元IPアドレス
  • ${GUAC_DATE} :接続時の日付
  • ${GUAC_TIME} :接続時の時間
  • タイプスクリプトの保存ディレクトリを自動的に作成する
    • チェックを入れた場合、ログ保管用のディレクトリが自動的に作成されます

Note

記録したファイル名が重複した場合、".1", ".2", ".3"などのように末尾に数字が追加されます。そのため、既存のファイルを上書きすることはありません。

5.6.2. 動画で記録

Apache Guacamoleの画面操作を動画として記録するためには、 スクリーンレコーディング の設定を行います。

_images/recoding.png
  • ログ保存ディレクトリ
    • 記録したデータを保存するディレクトリのパスを指定します
    • この項目を入力することで画面記録が有効となります
  • ログファイル名
    • ファイル名のフォーマットを指定します
    • 指定しない場合は「recording」というファイル名で作成されます

Note

ファイル名のフォーマットには、次のようなマクロを利用することができます。

  • ${GUAC_USERNAME} : Apache Guacamoleにログインした際のユーザID
  • ${GUAC_CLIENT_ADDRESS} :ログイン時のクライアントの接続元IPアドレス
  • ${GUAC_DATE} :接続時の日付
  • ${GUAC_TIME} :接続時の時間
  • 画像/ストリームの除外
    • チェックを入れた場合、画像や動画の記録が除外されます
  • マウス動作の除外
    • チェックを入れた場合、マウスカーソルの記録が除外されます
  • キーイベントの取得
    • チェックを入れた場合、キー操作の記録をテキストで行います
  • ログ保存ディレクトリを自動的に作成する
    • チェックを入れた場合、ログ保管用のディレクトリが自動的に作成されます

Note

動画キャプチャの特徴として、画面内での動きが多ければ多いほど、キャプチャデータのサイズが増えていきます。そのため、動画参照やマウスカーソルの動きなどのキャプチャを除外して、データサイズを抑えることができるようになっています。

Important

記録したファイル名が重複した場合、".1", ".2", ".3"などのように末尾に数字が追加されます。そのため、既存のファイルを上書きすることはありません。

5.7. Wake on LAN設定

Apache Guacamole 1.2.0 以降からWake on LAN(WoL) の設定ができるようになりました。

Apache GuacamoleでWake on LAN設定を行うことで、遠隔からPCの電源をオンにすることができます。

Note

WoL機能を利用するには、接続側もWoLを使った起動ができるように設定しておく必要があります。

以下の設定を行います。

_images/wol.png
  • Send WoL packet
    • チェックを入れた場合、Apache GuacamoleからWake-on-LANパケットの送信を行います
    • 有効にした場合は、 MAC address of the remote host の項目の入力が必要です
  • MAC address of the remote host
    • WoLパケットで使用するMACアドレスを指定します
  • Broadcast address for WoL packet
    • Apache GuacamoleからWoLパケットを送信するIPv4ブロードキャストアドレスまたはIPv6マルチキャストアドレスを指定します
    • 指定しない場合、デフォルトのローカルIPv4ブロードキャストアドレス(255.255.255.255)が使用されます
  • Host boot wait time
    • Apache GuacamoleからWoLパケットが送信された後、リモートホストへの接続するまでの待機時間(秒数)を指定します
    • リモートシステムが起動する前に接続すると、タイムアウトのエラーになります

Caution

マニュアル執筆時点(2020年12月末)では、 Host boot wait time は正しく動作せず、指定した秒数にかかわらず15秒でタイムアウトすることが分かっています。 タイムアウトした場合は、再接続を行うようにしてください。

Top