SSHリモートポートフォワーディング
リモートポートフォワーディングを設定して、ローカルサービスをリモートサーバーに公開する方法。Webhook、デモ、ローカル開発環境のリモートアクセスに便利です。
Proxy & Tunneling
詳細な説明
SSHリモートポートフォワーディング
リモートポートフォワーディングはローカルフォワーディングの逆で、ローカルマシンで動作しているサービスをリモートサーバーからアクセス可能にします。
設定例
Host expose-local
HostName remote-server.example.com
User developer
RemoteForward 8080 localhost:3000
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
動作の仕組み
ssh expose-localで接続すると、リモートサーバーのポート8080がローカルマシンのポート3000にマッピングされます。
Webhook開発
Host webhook-tunnel
HostName your-vps.example.com
User dev
RemoteForward 9000 localhost:3000
ServerAliveInterval 30
WebhookプロバイダーにURLをhttp://your-vps.example.com:9000として設定すると、ローカル開発サーバーのポート3000にイベントが届きます。
GatewayPorts
デフォルトでは、リモートフォワーディングされたポートはリモートサーバーのループバックインターフェース(127.0.0.1)のみでリッスンします。他のマシンからアクセス可能にするには、SSHサーバーのsshd_configでGatewayPorts yesが必要です。
ユースケース
Webhookテスト、ペアプログラミングのデモ、リモート環境からの一時的なアクセスのために、コードをデプロイせずにローカル開発サーバーを公開する必要がある開発者。