技術情報 / SSH / OpenSSH / リモートポートフォワード

リモートポートフォワード

リモートポートフォワードとは?

     ○ <----- 
          #
[サーバ1]  # [サーバ2]
          # 
        -----> ×
  • サーバ1とサーバ2があるとする。
  • サーバ2からサーバ1へは接続出来るが、サーバ2はファイヤウォール内なので、サーバ1からサーバ2へ接続出来ないとする。
  • このような環境で、サーバ2上でサーバ1へリモートポートフォワードを行うと、それで作成されたコネクションを利用し、サーバ1からサーバ2へ接続出来るようになる。
  • リモートポートフォワードのコネクションを切断すると、サーバ1からサーバ2への接続は再び出来なくなる。
  • リモートポートフォワードを使って、一時的な接続が可能になる。

remote1.comからremote2へ一時的にSSH接続を出来るようにする手順

remote2.com上でリモートポートフォワードを実行する

[remote2.com]$ ssh -f -N -R 10022:localhost:22 -l rmeote1-user -p 22 remote1.com

これでreomote2.comからremote1.comへのコネクションが作成され、remote1.com上の10022番ポートが開く。

remote1.comからremote2.comへSSH接続する

[remote1.com]$ ssh -p 10022 localhost

remote1.com上の10022番ポートに接続すると、remote2.com上の22番ポート(すなわちSSHポート)に転送されるので、上のコマンドでSSH接続出来る。

remote2.com上からコネクションを切断する

[remote2.com]$ ps auxw | grep ssh
[remote2.com]$ kill XXX

リモートポートフォワードのコネクションを切断すると、同時にremote1.comからremote2.comへのSSH接続も強制切断される。

参考

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)