web-dev-qa-db-ja.com

3ホップのsshトンネル接続用にPuTTYを構成するにはどうすればよいですか?

3ホップSSHトンネル接続用にPuTTYを構成するにはどうすればよいですか? 2ホップのSSHトンネル接続用にPuTTYを構成する方法を知っていますが、現在、3ホップで構成する方法を探しています。誰かが私にそれを達成する方法についての手順を説明できますか?

2ホップの場合、以下の方法に従います。

Windows 10(PuTTY)-> Linux Machine1(192.168.1.100)-> Linux Machine2(192.168.1.150)

  • セッションウィンドウで、宛先アドレス(192.168.1.150)とポート22を指定します。
  • プロキシオプションで、中間サーバーのIP(192.168.1.100)とポート22を指定しました。
  • また、telnetコマンドについては、次のように指定しました。

plink -agent -l%user%proxyhost -nc%Host:%port

上記の設定は、2ホップで正常に機能します。しかし今、私の要件は3ホップのSSHトンネルです。現在のものを変更してさらに1ホップを追加するにはどうすればよいですか?

1
karthick87

Linux Machines 1/2と同じネットワーク上の追加のマシンに接続したいだけなのか、それともそれらを超えた別のネットワーク(172.22.1.xのMachine 4など)にジャンプする必要があるのか​​は明確ではありません。

Linux Machine 1/2と同じ192.168.1.xネットワーク上の別のマシンにアクセスしようとしているだけの場合は、実際の SSHトンネル (PuTTYのConnection -> SSH -> Tunnelsメニューにあります)を使用します。 。必要な数のマシンに複数のトンネルを設定できます。

実際に3番目のネットワークにアクセスしようとしている場合は、元のPuTTYインスタンスで定義されたトンネルを介して接続するPuTTYの別のインスタンスを開くことができます。

  • ローカルマシンのポート(たとえば2222)をLinuxMachine2のポート22に転送するトンネルをPuTTYで定義します
  • 次に、トンネルを使用するWindowsマシンで別のPuTTYインスタンスを開き(つまり、Localhost:2222に接続し)、新しいトンネルを定義して、追加のポート(2223など)をMachine4(3番目のホップ)のポート22に転送します。
  • PuTTYのインスタンスをもう1つ開き、Localhost:2223に接続してMachine4にアクセスします

私はこれを2ホップでしか行ったことがないので、どのように機能するかわかりません。これは理想的な解決策ではありませんが、これが唯一の選択肢である場合は機能する可能性があります。

編集:Windows/PuTTYに限定されていない場合、 this(Transparent Multi-hop SSH) はあなたが望むことをするかもしれません。 Windowsに制限されている場合、 Cygwin には、より柔軟なSSHツールがいくつかある可能性があります。

1
thephez