
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:1234
Hostbでリッスンしているすべてのエントリに到達します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つのトンネルチェーンの例です。