sshのポートフォワード機能を使うと、ポートの許可がないLinuxサーバーでXクライアントを起動したり、かなり大胆なことを実行出来ます。
目次
ssh port forwarding(sshポートフォワード)はすばらしい
たまに、インターネット上にある直接アクセス許可のないLinuxサーバーのXクライアントを起動したい時があります。
例えば、外部にホスティングされているお客さんのLinuxサーバーにOracleをGUIでインストールしたい時です。
ローカルにあるLinuxサーバーなら、Gnome端末などから、
1 |
# orainstall |
とすれば、そのままインストールできます。
ところが、
- ローカルWindowsからはTARGETサーバーにsshでアクセス許可がない
- ローカルWindowsからはTARGETサーバーにsshアクセス許可のあるサーバーにはアクセス可能である
というケースの場合、TARGETサーバーにOracleをGUIインストールしたい場合、「さて、どうしたものか?」ということになってしまいます。
こういったときに、自身はTARGETサーバーにアクセス許可はなくても、TARGETサーバーにsshアクセス許可のあるサーバーを踏み台にして、Xクライアントを起動することができます。
これが、sshのport forwardingというテクニックです。
sshのport forwardingを使えば、ローカルのWindows端末にTARGETサーバーのXクライアントを起動することができます。
ssh port forwarding(sshポートフォワード)を使って直接アクセス許可のないLinuxサーバーのXクライアントを起動する方法
次のようなことを実現します。
以下のものを事前にインストールしておきます。
- ローカルWindowsにCygwinをX Serverも含めてインストール(Windowsで動作するX Serverであれば何でもいいと思います)
Windows端末から、「スタートメニュー」 → 「Cygwin-X」 → 「XWin Server」を起動します。
その後、X端末から以下のコマンドでアクセス許可のあるサーバーににssh port forwardingを使ってログインします。
1 |
$ ssh -R 6000:localhost:6000 root@aaa.bbb |
次に、その端末から、TARGETサーバーにログインし、DISPLAY環境変数を設定します。
その後、TARGETのサーバーのXクライアントを起動します。
1 2 3 4 5 |
[root@aaa.bbb]# ssh -R 6000:localhost:6000 ccc@xxx.yyy ccc@xxx.yyy's password: [ccc@xxx.yyy]$export DISPLAY=localhost:0.0 [ccc@xxx.yyy]$xeyes |
アクセス許可のないTARGETサーバーのXクライアントアプリがローカルのWindows端末で起動することを確認できます。
これはすばらしいかも。
sshについてのおすすめの本
↓ssh についてのおすすめの本はコチラ
コメント
[…] […]
[…] […]