2段階SSHポートフォワーディングの方法

ALL
スポンサーリンク

前回 に引き続き、SSHポートフォワーディングについてです。
今回はSSHポートフォワーディングを2段階にする方法です。

2段階SSHポートフォワーディングでは、下図のように、ローカルマシンの XX番ポートにアクセスすることで、SSHサーバ1と2を経由して、リモートマシンの YY 番ポートにアクセスします。

画像

1段目は、ローカルマシンの XX番ポートにアクセスすることで、SSHサーバ1を経由して、SSHサーバ1自身の ZZ番ポートにアクセスします。

2段目は、SSHサーバ1の ZZ番ポートにアクセスすることで、SSHサーバ2を経由して、リモートマシンの YY 番ポートにアクセスします。

この2段SSHポートフォワーディングは、リモートマシンが特定のマシン(ここではSSHサーバ2)からしか接続を受け付けず、かつローカルマシンはSSHサーバ1にしかアクセス出来ないような場合に使用します。

この多段SSHポートフォワーディングが出来るには、
・ローカルマシンは SSHサーバ1に sshでアクセスできること
・SSHサーバ1は SSHサーバ2に sshでアクセスできること
・SSHサーバ2はリモートマシンの YY番ポートにアクセス出来ること
が必要です。

それでは以降、2段SSHポートフォワーディンの為の設定です。

1段目の接続

ローカルマシンがWindows の場合は PuTTY 、Linux の場合は sshコマンドを使って、SSHサーバ1へ接続します。

Windows(PuTTY)の場合

基本は Windows/Linuxでの SSHポートフォワーディングの方法 の「PuTTY の場合」と同じです。

PuTTY 起動後、接続先の指定で SSHサーバ1のホスト名またはIPアドレスを指定します。
ここでは、まだ「開く」ボタンを押さないいでください。

画像

次に画面左側のツリーから、接続-SSH-トンネル を選択し、「源ポート」に ローカルマシンのポート、「送り先」はアドレスが 127.0.0.1 で、ポート番号は図でいう ZZ番を指定し、「追加」ボタンを押します。
アドレスとポートは、「127.0.0.1:12345」のように、「:」でアドレスとポート番号を区切って指定します。

画像

なお、127.0.0.1の部分は「リモートマシンのアドレス」になります。
指定する「リモートマシンのアドレス」は、SSHサーバ1から見たアドレスです。
従って 127.0.0.1 と指定すると、それは SSHサーバ1自身を示します。

最後に「開く」ボタンを押して、SSHサーバ1に接続します。

ログイン画面になるので、ユーザ名とパスワードを入力し、SSHサーバ1にログインします。
これで、ローカルマシンの「源ポート」へのアクセスで、SSHサーバ1を経由して、SSHサーバ1自身にアクセスできます。

SSHサーバ1に接続した画面が開いたままになりますが、このままにして、2段目の接続 へ進みます。

Linux(sshコマンド)の場合

基本は Windows/Linuxでの SSHポートフォワーディングの方法 の「Linuxの sshコマンド の場合」と同じです。

下記のように指定します。
「SSHサーバ1のポート」は、先頭の図でいうポートZZ番 の数値です。

ssh SSHサーバ1のユーザ名@SSHサーバ1のアドレス -L ローカルマシンのポート:127.0.0.1:SSHサーバ1のポート

なお、127.0.0.1の部分は「リモートマシンのアドレス」になります。
指定する「リモートマシンのアドレス」は、SSHサーバ1から見たアドレスです。
従って 127.0.0.1 と指定すると、それは SSHサーバ1自身を示します。

これで、ローカルマシンのポートへのアクセスで、SSHサーバ1を経由して、SSHサーバ1自身にアクセスできます。

sshコマンドにより、SSHサーバ1に接続したままになりますが、このままにして、2段目の接続 へ進みます。

2段目の接続

1段目の接続 によって、SSHサーバ1に接続したコンソールが出たままになっているはずです。

下記のように指定します。
「SSHサーバ2のポート」は、先頭の図でいうポートZZ番 の数値です。

ssh SSHサーバ2のユーザ名@SSHサーバ2のアドレス -L SSHサーバ1のポート:リモートマシンのアドレス:リモートマシンのポート

これで、SSHサーバ1のポートへのアクセスで、SSHサーバ2を経由して、リモートマシンにアクセスできます。

以上、1段目と2段目の接続により、ローカルマシンのポートへのアクセスで、SSHサーバ1とSSHサーバ2を経由してリモートマシンにアクセスできます。

上記の要領で接続するSSHサーバを増やせば、3段以上の多段ポートフォワーディングも可能です。

コメント