Apache GuacamoleでRed Hat OpenShift on IBM Cloudに踏み台サーバを構築する(SSH編)


目的

前回の記事でRed Hat OpenShift on IBM Cloud上にApache Guacamoleをデプロイしました。今回はSSHを使った踏み台を検証してみます。

手順

接続設定

管理者でログインし、設定→接続を選び、接続の追加をクリックします。

名前を決め、プロトコルはSSHとします。

接続先のホスト名(アドレス)、ポートを指定し、認証に必要な情報を入力します。この例では公開鍵認証をしていますので、あらかじめ公開鍵をホスト側の~/.ssh/authorized_keysに登録している必要があります。

タイプスクリプト(テキストの記録)を設定すると、SSHセッション中の操作を記録することができます。ログはguacdコンテナ内に出力されます。真面目にやるときは永続ボリュームをマウントしてそこに出力するようにしてください。今回は面倒なのでコンテナ内のそのまま出力してしまいます。ディレクトリ名、ファイル名は変数を利用できます。この例では次のように設定しています。

  • タイプスクリプトの保存ディレクトリ: /tmp/\${GUAC_DATE}
  • タイプスクリプト名: \${GUAC_USERNAME}-\${GUAC_DATE}-\${GUAC_TIME}.log

SFTPも有効化しておきます。ブラウザからファイル転送ができるようになります。

設定を保存したらホーム画面に移動します。

接続

接続先を選びます。

設定に問題がなければブラウザ内にターミナルが表示されます。

日本語も大丈夫です。

ファイル転送

先ほど有効にしたSFTPを使用するには、Ctrl + Shift + Altを同時押しします。するとサイドメニューが表示されます。

デバイスをクリックするとホスト側のディレクトリツリーが表示されますので、これを使ってファイルのアップロードやダウンロードが可能です。

ターミナルからexitコマンド等でログアウトすると、ホームに戻るか、再接続するか、Guacamole自体からログアウトすることができます。

スクリーンログの確認

guacdのコンテナ内に侵入してみます。

$ oc get pods | grep guacd
guacd-1-deploy       0/1     Completed   0          50m
guacd-1-zj8d4        1/1     Running     0          50m
$ oc rsh guacd-1-cdp4r bash

ログが出力されています。

1000620000@guacd-1-cdp4r:/$ find /tmp/20201223/
/tmp/20201223/
/tmp/20201223/guacadmin-20201223-155628.log.timing
/tmp/20201223/guacadmin-20201223-155628.log

.logは入出力が記録されていますのでそのままテキストとして読めます。.timingはコマンドの実行タイミングを記録しています。操作を再生する場合はscriptreplayコマンドを使用します。

1000620000@guacd-1-cdp4r:/tmp/20201223$ scriptreplay guacadmin-20201223-155628.log.timing guacadmin-20201223-155628.log

次回はWindowsサーバにRDP接続してみます。