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トンネルを通じてセキュアにアクセスする必要がある開発者。