ローカルポートフォワーディング、ダイナミックポートフォワーディングに続いて、SSHのリモートポートフォワーディングについてです。
ローカルポートフォワーディングは、下記で紹介したポートフォワーディングです。
Windows/Linuxでの SSHポートフォワーディングの方法 パソコン鳥のブログ
2段階SSHポートフォワーディングの方法 パソコン鳥のブログ
Tera Term での SSHポートフォワーディングの方法 パソコン鳥のブログ
ダイナミックポートフォワーディングは下記で紹介しました。
ダイナミックポートフォワーディングは便利 パソコン鳥のブログ
リモートポートフォワーディングとは
リモートポートフォワーディングでは、SSHサーバのポートにアクセスすることで、指定したマシンへポート転送しますが、ポート転送先をローカルマシン(SSH接続元)上のポートにすると便利です。
この際、下図のように、SSH接続の向きとポート転送の向きが逆になります。
ここで、SSH接続とポート転送が逆であることを利用すると、ルータ内のサーバに簡単にアクセス出来ます。
下図のように、ルータ下のマシンからSSH接続します。
通常、ルータ内から外部への接続は、特にルータの設定をせずとも行えます。
ここでSSHサーバのポートにアクセスすると、通常はアクセス出来ないルータ内のマシンにアクセス出来ます。
このように、通常ルータの外側からアクセス出来ないサーバでも、リモートポートフォワーディングによってアクセスが可能になります。
設定方法
リモートポートフォワーディングを行うための SSH接続の方法です。
設定例として、「SSHサーバの 22080番ポートにアクセスすることで、ローカルマシン(SSH接続元)の 80番ポートにアクセスする」設定を説明します。
PuTTY の場合
PuTTY のダウンロード・インストールについては、下記を参照して下さい。
ターミナルエミュレーター PuTTY(日本語版) パソコン鳥のブログ
PuTTY 起動後、接続先の指定で SSHサーバのホスト名またはIPアドレスを指定します。
以降でまだ設定があるので、ここでは「開く」ボタンを押さないいでください。
次に画面左側のツリーから、接続-SSH-トンネル を選択します。
画面右側で「リモート」を選択します。
「源ポート」に SSHサーバ上のポート、「送り先」に転送先マシンのアドレスとポートを設定し、「追加」ボタンを押します。
転送先マシンのアドレスとポートは、「アドレス:ポート番号」のように、「:」でアドレスとポート番号を区切って指定します。
アドレスは、ホスト名またはIPアドレスで指定します。
なお、「転送先マシンのアドレス」は、SSH接続元から見たアドレスです。
例えば、転送先マシンのアドレスに localhost を指定すると、それは SSH接続元自身を示します。
ここでは、「リモート」にチェックし、源ポートを「22080」、送り先を「localhost:80」にして「追加」ボタンを押すと、以下のように、フォワードするポート一覧の箇所が「R20080 localhost:80」となります。
最後に「開く」ボタンを押して、SSHサーバに接続します。
ログイン画面になるので、ユーザ名とパスワードを入力すれば、SSHサーバにログインします。
これで、SSHサーバの「源ポート」へのアクセスで、転送先マシンにアクセスできます。
ウィンドウが開いたままになりますが、この状態でSSHのリモートポートフォワーディングが行われます。
SSH接続元マシンが WEBサーバの場合、ブラウザで http://SSHサーバのアドレス:22080 のようにSSHサーバにアクセスすると、SSH接続元マシンのページが表示されます。
TeraTerm の場合
Tera Term のダウンロード・インストール、使用方法については、下記を参照して下さい。
ターミナルエミュレーター Tera Term パソコン鳥のブログ
Tera Term 起動後、ホストへの接続前に、画面上部の「設定」メニュー から「SSH転送」を選択します。
SSHポート転送ダイアログが現れるので、追加ボタンを押します。
下記のような画面が現れるので、「リモートサーバのポート」「ローカル側ホスト」「ポート」を設定します。
「リモートサーバのポート」にSSHサーバのポート、「ローカル側ホスト」「ポート」に転送先マシンのアドレスとポートを設定します。
転送先マシンのアドレスは、ホスト名またはIPアドレスで指定します。
なお、「ローカル側ホスト」は、SSH接続元から見たアドレスです。
例えば、「ローカル側ホスト」に localhost を指定すると、それは SSH接続元自身を示します。
ここでは、「リモートサーバのポート」に「22080」、「ローカル側ホスト」「ポート」をlocalhost、80とします。
最後に「OK」ボタンを押します。
下記の元の画面に戻るので、「OK」ボタンを押します。
この後、画面上部の「ファイル」メニュー から「新しい接続」でホストへ接続します。
ウィンドウが開いたままになりますが、この状態でSSHのリモートポートフォワーディングが行われます。
SSH接続元マシンが WEBサーバの場合、ブラウザで http://SSHサーバのアドレス:22080 のようにSSHサーバにアクセスすると、SSH接続元マシンのページが表示されます。
Linuxの sshコマンド の場合
下記のように指定します。
ssh ユーザ名@SSHサーバのアドレス -R SSHサーバのポート:リモートマシンのアドレス:リモートマシンのポート
「リモートマシンのアドレス」は、SSH接続元から見たアドレスです。
例えば、リモートマシンのアドレスに localhost を指定すると、それは SSH接続元のマシンを示します。
ここでは、次のようにします。
user001@xxxxx.dip.jp の箇所は、自分がアクセス出来る SSHサーバのユーザ名とホスト名を設定して下さい。
ssh user001@xxxxx.dip.jp -R 22080:localhost:80
SSHサーバ上の 22080番にアクセスすると、SSH接続元マシンの 80番にアクセス出来ます。
SSH接続元マシンが WEBサーバの場合、ブラウザで http://SSHサーバのアドレス:22080 のようにSSHサーバにアクセスすると、SSH接続元マシンのページが表示されます。
以上、SSHリモートポートフォワーディングの設定方法です。
コメント