SSHポートフォワーディングとは?VPNとの違い
SSHポートフォワーディングは、SSH接続の中に別の通信を通す仕組みです。VPNと同じように「遠くのネットワークへ安全に届かせる」目的で使われることがありますが、得意なのはネットワーク全体の接続ではなく、特定のポートやアプリへの細い通り道を作ることです。
SSHポートフォワーディングの基本
SSHはもともと安全にサーバーへログインするための仕組みですが、その暗号化された接続の中へ別のTCP通信を流すこともできます。これをSSHポートフォワーディング、またはSSHトンネルと呼びます。
何ができる?
- 手元のPCから、外部公開されていない管理画面やデータベースへ一時的に接続する。
- 踏み台サーバーを経由して、社内やクラウド内の特定サービスへアクセスする。
- 通信内容をSSHの暗号化された経路に包んで、中間ネットワークから見えにくくする。
- VPNクライアントを入れずに、必要な接続だけを小さく開ける。
代表的なコマンド例
手元の `localhost:15432` に接続すると、SSHサーバーから見える `db.internal:5432` へ届く例です。
ssh -L 15432:db.internal:5432 user@example.com
3つの転送方式
SSHポートフォワーディングは、どちら側に入口を作るかで使い方が変わります。
方式の違い
| 方式 | よく使う形 | 向いている用途 |
|---|---|---|
| ローカル転送(-L) | 自分のPCのポートを、SSHサーバー側から見える宛先へつなぐ | 社内DB、管理画面、Redis、RDPなどへ一時的に接続する |
| リモート転送(-R) | SSHサーバー側のポートを、自分のPC側や手元ネットワークの宛先へつなぐ | NAT内の開発環境を一時的に外から確認する、サポート用の逆向き接続を作る |
| 動的転送(-D) | 自分のPCにSOCKSプロキシを作り、接続先を都度切り替える | ブラウザや一部アプリの通信をSSH経由にする |
VPNとの違い
VPNとSSHポートフォワーディングはどちらも暗号化されたトンネルを作れます。ただし、扱う範囲と運用の前提がかなり違います。
比較表
| 観点 | SSHポートフォワーディング | VPN |
|---|---|---|
| 接続範囲 | 指定したTCPポートやSOCKS経由の通信が中心 | 端末全体、特定サブネット、アプリ単位など広く設計できる |
| 主な用途 | 管理者や開発者が特定サービスへ一時接続する | 在宅勤務、拠点間接続、常時接続、個人向けプライバシー補助 |
| 対応通信 | 基本はTCP。UDPやICMPはそのまま扱いにくい | 方式によってIPレベルでTCP/UDP/ICMPなどを扱える |
| 設定の重さ | SSHアカウントと鍵があれば小さく始めやすい | クライアント、ルーティング、DNS、認証、端末管理の設計が必要 |
| 権限管理 | SSHログイン権限とサーバー側設定に強く依存する | ユーザー、端末、ネットワーク、アプリ単位で設計しやすい製品が多い |
| 利用者層 | 技術者向けになりやすい | 一般利用者向けクライアントや企業管理に向く |
ざっくりした使い分け
- 「特定のDBや管理画面だけに入りたい」ならSSHポートフォワーディングが扱いやすい。
- 「社内ネットワークや複数アプリを普段どおり使いたい」ならVPNのほうが向いている。
- 「ブラウザだけSSH経由にしたい」なら動的転送(SOCKS)も選択肢になる。
- 「全社員に配るリモートアクセス基盤」なら、認証、ログ、端末管理を含めてVPNやZTNA系を検討する。
よくある利用例
SSHポートフォワーディングは、外部公開したくない管理系サービスへ、必要な人だけが一時的に入る用途でよく使われます。
ローカル転送の例
- 本番DBをインターネットへ公開せず、踏み台サーバー経由で管理ツールから接続する。
- クラウド内の管理画面を `localhost` 経由で開く。
- リモートデスクトップやVNCなどを、公開ポートなしで一時的に使う。
動的転送の例
SOCKSプロキシとして使う場合は、ブラウザ側のプロキシ設定も必要です。
ssh -D 1080 user@example.com
注意点
SSHトンネルは便利ですが、開けたポートは意図した相手だけが使えるように管理する必要があります。
安全に使うためのポイント
- パスワードログインより公開鍵認証を基本にし、鍵の保管と失効を管理する。
- 不要な転送を許可しないよう、サーバー側の `AllowTcpForwarding` や `PermitOpen` を検討する。
- ローカル側で `0.0.0.0` にバインドすると、同じネットワークの他端末から使われる可能性がある。
- SSHサーバーに入れる人は、内部サービスへの経路を作れる場合がある。踏み台サーバーのログと権限管理が重要。
- 長期・多数ユーザー・広範囲アクセスに使うなら、VPNやゼロトラスト系アクセス製品のほうが運用しやすいことがある。
まとめ
SSHポートフォワーディングは「特定の通信だけをSSHで通す」ための軽量な方法です。VPNは「端末やネットワークの通信経路を設計する」ための仕組みです。
覚え方
- SSHポートフォワーディングは、点と点をつなぐ細いトンネル。
- VPNは、端末やネットワークをまとめて扱う太いトンネル。
- 小さな管理用途ならSSH、大きなリモートアクセス基盤ならVPN、と考えると選びやすい。
- VPNの見え方や守れる範囲は、VPN利用時に誰から何が見える?やVPNで守れること・守れないことも合わせて確認する。