SSHローカルポートフォワーディング

SSH configでローカルポートフォワーディングを設定し、暗号化トンネルを通じてリモートサービス(データベース、Webアプリ)にローカルポートでアクセスする方法。

Proxy & Tunneling

詳細な説明

SSHローカルポートフォワーディング

ローカルポートフォワーディングは、ローカルマシンのポートからリモートホストのポートへの暗号化トンネルを作成します。

設定例

Host db-tunnel
  HostName db-server.internal
  User tunnel-user
  LocalForward 5432 localhost:5432
  IdentityFile ~/.ssh/id_ed25519_work
  IdentitiesOnly yes
  ServerAliveInterval 60

動作の仕組み

ssh db-tunnelで接続すると、ローカルマシンのポート5432がリモートホストのポート5432にマッピングされます。localhost:5432への接続がリモートのPostgreSQLに透過的にトンネリングされます。

複数のフォワード

Host dev-tunnel
  HostName dev.example.com
  User developer
  LocalForward 5432 localhost:5432
  LocalForward 6379 localhost:6379
  LocalForward 8080 internal-api:8080

バックグラウンドトンネル

シェルを開かずにバックグラウンドでトンネルを実行:

ssh -fN db-tunnel

ユースケース

パブリックインターネットに公開されていないリモートデータベース、内部API、管理インターフェースにSSHトンネルを通じてセキュアにアクセスする必要がある開発者。

試してみる — SSH Config Generator

フルツールを開く