SSHを使用してリモートコンピュータ間で一時プロキシを設定する

SSHを使用してリモートコンピュータ間で一時プロキシを設定する

2つのSSHトンネルを接続したいです。

マイコンピュータmyhost.example.comからhosta.example.comとhostb.example.comにSSH経由で接続できます。 (その間にボックスホッピングファイアウォールと他のものがあるかもしれませんが、これが.ssh_configで定義されていると言えば十分です)。

HostaはHostbに直接接続できず、その逆も同様です。 「-L」と「-R」を使用すると、SSH接続を介してトンネルを作成できますが、トンネルの一方の端は常に私のローカルコンピュータであることがわかります。

Hosta.example.comがmyhost.example.comを介してHostb.example.comに接続できるようにトンネルに参加するにはどうすればよいですか?

(Googleを使ってみましたが、私が見つけたのは1つのトンネルを設定する方法を教えてくれる100万のWebページだけでした。2に参加することではありません。)

ベストアンサー1

ローカルコンピュータで次の接続を正常に設定した場合:

ssh -L 1234:localhost:5678 hostb.example.com

その後、接続されているすべてのローカルプロセスがlocalhost:1234Hostbでリッスンしているすべてのエントリに到達しますlocalhost:5678

ローカルコンピュータでこれを行う場合:

ssh -R 9876:localhost:1234 hosta.example.com

その後、Hostaに接続されているHostaのすべてのプロセスはlocalhost:9876ローカルに到達しますlocalhost:1234

ただし、ローカルはlocalhost:1234まさに最初のトンネル()のローカルエンドであるため、ssh -L …HostaからHostaへの接続はlocalhost:9876最終的にHostbから受信しているすべてのエントリに到達しますlocalhost:5678。以下は、2つのトンネルチェーンの例です。

おすすめ記事