2 つのホストを介して SSH をトンネリングするにはどうすればよいですか?

2 つのホストを介して SSH をトンネリングするにはどうすればよいですか?

私は、いくつかの高ポートをブロックしているネットワークから作業しているため、自宅のネットワーク上の Windows マシンに Mac から SSH 接続できません。通常、次のコマンドを使用して、OS X 上のリモート デスクトップ クライアントに接続するトンネルを確立します。

ssh -p 22601 -L3389:Windows:3389 user@Ubuntu1 -N

この場合、マシンは 2 台あります。

  • サーバーA: Ubuntu1 (ポート 22601)
  • サーバー B: Windows (ポート 3389)

現在のネットワークでポート 22601 がブロックされているのを回避するには、別のマシンをトンネルで通過します。これを Ubuntu2 と呼び、ポート 22 で SSH サーバーが稼働しています。いくつかの組み合わせを試しましたが、この接続が機能しないようです。Ubuntu 1 と 2 には同じ SSH 公開キー アクセスがあります。すべての場合で、同じユーザー名を使用しています。

これを行うにはどのコマンドラインを実行する必要がありますか? また、Ubuntu2 の SSHd 構成で他に何かを行う必要がありますか?

答え1

次の点に注目してください。

http://blog.allanglesit.com/2011/11/ssh-hop-through-multiple-hosts/

これらを関連するポート番号と連結すると、問題は解決するはずです。

あるいは、ProxyCommand を使用してより透過的にすることもできます。

http://backdrift.org/transparent-proxy-with-ssh

関連情報