パテを使用したマルチホップ経由のSSHトンネル


13

2つの連続したLinuxマシンの背後にあるVNCを実行しているLinuxマシン(VNCServerと呼びます)に接続したい状況があります。 Gateway2にsshし、そのシェルから最後にVNCServerにsshします。ネットワーク設計とアクセスフローを変更できませんラップトップ->ゲートウェイ1->ゲートウェイ2->サーバー。Gateway1にはルート権限がなく、22と5901を除くすべてのポートが閉じています。

ラップトップでVNCビューアーを起動し、VNCServerにアクセスする方法はありますか?私はそれがsshトンネリング機能を使用して行われる可能性があることを理解しており、Windowsラップトップにパテを持っています(申し訳ありませんが、職場のラップトップにはLinuxやCygwinなどをインストールできません)。私の人生がとても楽になるので、どんな助けも大歓迎です!

回答:


19

Puttyはsshトンネルをサポートしています。接続、SSHツリーを展開すると、トンネルのエントリが表示されます。

ローカルトンネルは、指定したIPアドレスとポートにリモート接続するWindowsマシンでローカルホストポートを生成します。たとえば、自宅のデスクトップにRDPをしようとすると、通常7789のようなランダムなローカルポートを選択し、デスクトップのローカルIPアドレス(1.2.3.4:3389)をリモートとして設定します。ホスト。必ず「追加」をクリックしてから「適用」をクリックしてください。この時点で、127.0.0.1:7789にrdpすると、パテセッションを介して1.2.3.4:3389に接続します。

これが面白いところです。次に、中間ボックスにポートトンネルを設定し、リモートポートとしてパテで指定したローカルポートを設定すると、パテを介して、最終宛先の中間ボックスを介してバウンスできます。あなたはまだいくつかのssh接続を行う必要がありますが、設定したらWindowsシステムから直接vncまたはrdpをクロスできるようになります。

  1. PuTTYのトンネルパネルに移動します(SSHセッションが既にアクティブな場合はコンテキストメニューから、またはPUTTYを開始したときの最初の接続画面で、[接続]-> [SSH]-> [トンネル]にアクセスします)
  2. ローカルソース15900とリモートソース127.0.0.1:15900でトンネルを作成します
  3. Gateway1に接続します(まだ接続していない場合)。
  4. Gateway1で、ssh -L 127.0.0.1:15900:VNCServerIP:5900 user @ Gateway2
  5. Gateway2へのsshが起動したら、127.0.0.1:15900にvncを試行します-これで、VNC画面が向こう側に表示されるはずです!

追加ボーナス -多くの人がこれを知っているわけではありませんが、このプロセスはIPv6 / IPv4トラフィックのプロキシにも使用できます。SSHはトンネルに使用するプロトコルを気にしません。したがって、sshサーバーがデュアルスタック(IPv4アドレスとIPv6アドレスの両方を持っている)であれば、理論的にはIPv4のみのシステムからIPv6のみのホストにアクセスできます。


15

両方のホップにPuTTYを使用する場合は、代替手段があります。この例では、ゲートウェイ#1(10.0.1.123)からゲートウェイ#2(10.0.1.456)から10.0.1.789のポート80にホッピングしています。

  1. 最初にゲートウェイ#1へのホップを作成します。最初に、最初のサーバーへの接続をセットアップします。Connection> SSH> Tunnelsで2番目のゲートウェイへのトンネルを設定します。この例では、ポート2222を2番目のゲートウェイに転送しています。

    サーバーに接続する

    トンネルを設定する

  2. 次に、2番目のホップをセットアップします。最初のゲートウェイを介して次のゲートウェイにトンネリングし、2番目のゲートウェイでポート転送を設定します。接続はポート2222のlocalhostになります。これにより、実行中のssh接続を介して2番目のホップにトンネリングされます。この接続では、ポート3333から10.0.1.789にポート転送を設定します。

    ここに画像の説明を入力してください

    ここに画像の説明を入力してください

  3. ブラウザを開いて127.0.0.1:3333に移動すると、2つのSSH接続を介して10.0.1.789:80にトンネリングします。


1
SSH-> Tunnelsメニューで設定された2つのトンネルで1つの単一のパテセッションを使用して同じことを達成する方法はありますか?この方法で、パテインスタンスを1つだけ開く必要がありますか?
ウルリッヒ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.