SSH Port Forwardingとは、SSH接続を利用してローカルネットワークやリモートネットワークのポートを別のポートに転送する技術です。SSH Port Forwardingには、ローカルポートフォワーディングとリモートポートフォワーディングの2種類があります。
ローカルポートフォワーディングとは、ローカルマシンのポートをSSHサーバーのポートに転送することです。例えば、ローカルマシンの8080番ポートをSSHサーバーの80番ポートに転送すると、ローカルマシンからhttp://localhost:8080にアクセスすると、SSHサーバーのWebサーバーにアクセスできます。これは、SSHサーバーがファイアウォールで外部からのアクセスを制限している場合や、SSHサーバーがプライベートネットワークにある場合に便利です。ローカルポートフォワーディングのコマンドは以下のようになります。
ssh -L 8080:localhost:80 user@ssh-server
リモートポートフォワーディングとは、SSHサーバーのポートをローカルマシンのポートに転送することです。例えば、SSHサーバーの8080番ポートをローカルマシンの80番ポートに転送すると、SSHサーバーからhttp://localhost:8080にアクセスすると、ローカルマシンのWebサーバーにアクセスできます。これは、ローカルマシンがファイアウォールで外部からのアクセスを制限している場合や、ローカルマシンがプライベートネットワークにある場合に便利です。リモートポートフォワーディングのコマンドは以下のようになります。
ssh -R 8080:localhost:80 user@ssh-server
SSH Port Forwardingは、セキュアな通信チャンネルを作ることができるだけでなく、様々なユースケースがあります。例えば、以下のような場面で活用できます。
- ローカルマシンで開発したWebアプリケーションをSSHサーバー経由で公開する
- SSHサーバー上で動作するデータベースやAPIなどにローカルマシンから安全にアクセスする
- SSHサーバー上で動作するWebアプリケーションをローカルマシンでデバッグする
- ローカルマシン上で動作するWebアプリケーションをSSHサーバー経由でテストする
SSH Port Forwardingは、簡単なコマンドで実現できる技術です。ぜひ試してみてください。
Written with Copilot