はじめに
こんにちは!中途入社のなーがです。前回はssh接続のポートフォワーディングは複数設定できることについての内容でしたが、今回はssh接続のポートフォワーディングは3種類あるということについて書こうと思います。
ポートフォワーディングとは
以下、引用です。
インターネットから特定のポート番号宛てに届いたパケットを、あらかじめ設定しておいたLAN側の機器に転送する機能です。1つのグローバルIPアドレスでポート毎に複数のサーバーへ振り分けを行ったり、ポート変換を行うことができます。
接続するIPアドレス限定することで外部からの接続を気にすることなく効率的なセキュリティ対策が出来ます。
ローカルポートフォワーディング
これは「ローカルの指定したポート(今回は11122)にアクセスすると、接続したいリモートの指定したポート(今回は22)にアクセスできるようにする」もので、前回書いた内容はこちらの応用になります。
コマンドは以下の通りです。
ssh -L 11122:sample2.jp:22 user@sample.jp
~/.ssh/configに記載してアクセスすることもできます。
Host sample.jp
Hostname sample.jp
User user
LocalForward 11122 sample2.jp:22
コマンドは以下の通りです。
ssh sample.jp
リモートポートフォワーディング
逆ローカルポートフォワーディング、リバースポートフォワーディングとも言われます。
これは「リモートの指定したポート(今回は22)からの接続をローカルの指定したポート(今回は11122)を通るようにする」もので、まさにローカルポートフォワーディングの逆バージョンです。
コマンドは以下の通りです。
ssh -R 11122:sample2.jp:22 user@sample.jp
~/.ssh/configに記載してアクセスすることもできます。
Host sample.jp
Hostname sample.jp
User user
RemoteForward 11122 sample2.jp:22
コマンドは以下の通りです。
ssh sample.jp
ダイナミックポートフォワーディング
これは「特定のネットワークからのアクセスのみを許可されているサーバーにクライアントの指定したポートを経由してアクセス出来るようにする」ものです。社内向けに公開されているサービスではIP制限のかかっているので、この方法で外部からアクセスすることが出来ます。
コマンドは以下の通りです。
ssh -D 11122 user@sample.jp
~/.ssh/configに記載してアクセスすることもできます。
Host sample.jp
Hostname sample.jp
User user
DynamicForward 11122
コマンドは以下の通りです。
ssh sample.jp
最後に
今回はssh接続のポートフォワーディングは3種類あるということについて書きました。configファイルに一度設定してしまえば、簡単にセキュアな接続を行うことが出来ます。特に、ロカールポートフォワーディングは開発時によく使用されると思うので、知っておいて損はないと思います。今後も業務を通じて学んだことをブログでアウトプットしていこうと思います。