SSHには、ただリモートサーバーへログインするだけでなく、
他の通信を暗号化して中継する「フォワーディング(ポート転送)」機能があります。
外部から直接アクセスできない内部ネットワークに安全に接続する際などに非常に便利です。
■ ローカルフォワーディング(Local Forwarding)
クライアント側のポートをリモートに中継する方法です。
外部から閉ざされたDBやアプリに、SSH経由でアクセスできます。
この例では、手元の http://localhost:8080 へのアクセスが、
リモートサーバー上の localhost:80(例:Webサーバー)に転送されます。
■ リモートフォワーディング(Remote Forwarding)
リモート側のポートを、クライアントに転送する設定です。
社内ネットワーク内の開発環境を外部ユーザーに一時的に公開する場合などに使用します。
これにより、リモート側の localhost:8080 にアクセスすると、
クライアント側の localhost:80 に接続されます。
■ ダイナミックフォワーディング(Dynamic Forwarding)
SSHをSOCKSプロキシとして利用する方法です。
通信経路をSSHトンネル化して、外部からのアクセスを匿名化・暗号化できます。
ブラウザやツールでプロキシ設定を「localhost:1080」にすれば、
すべての通信がSSH経由で転送されます。
■ まとめ
| 種類 | オプション | 主な用途 |
|---|---|---|
| ローカルフォワーディング | -L |
内部サーバーに安全にアクセス |
| リモートフォワーディング | -R |
ローカル環境を外部に公開 |
| ダイナミックフォワーディング | -D |
SSHをプロキシ化して暗号化通信 |
SSHフォワーディングを使えば、VPNを使わずに安全な通信経路を構築できます。
セキュリティを保ちつつ、開発・管理・保守の効率を高める強力なテクニックです。
