web-dev-qa-db-ja.com

WindowsでPuTTYを使用してSSHトンネルを作成する方法

WindowsでPuTTYを使用してSSHトンネルを作成する必要があります。これはLinuxで次のコマンドと同じです。

ssh -fN -L 2000:SomeIp:2000 myusername@myLinuxBox

GUIのソースポートを「2000」に、宛先を「SomeIp:2000」に設定するなど、PuTTYで多くのオプションを試しました。宛先はローカルに設定されます(-Lスイッチが提案します)。

SSHボックスに正常にログインしましたが、ポートフォワードが行われません。

これはWindowsでも可能であるため、このポート(2000)を使用するプログラムによって作成されたすべての接続はこのトンネルを通過しますか?

28
DixieFlatline

おそらくplink.exe GUIクライアントの代わり。コマンドライン構文はiircと互換性があります。

11
Barend

PuTTYスイートを使用すると、PuTTY自体(GUI)を使用するか、コマンドラインツールplink.exe


とともに plink.exe、OpenSSH sshと同じ引数を使用しますが、-f、Windowsには同等のものはありません。

plink.exe -N -L 2000:SomeIp:2000 myusername@myLinuxBox

リファレンス: コマンドライン接続ツールPlinkの使用


PuTTYでは、-L 2000:SomeIp:2000は次のように変換されます。

PuTTY tunnel settings

だから、実際には、あなたが試みたと主張するものです。問題がある場合は、PuTTYイベントログを使用して調査します。

PuTTY event log

-Nはオプションに変換されます「シェルまたはコマンドをまったく起動しない」

PuTTY option Don't start a Shell or command at all

しかし、おそらくGUIクライアントでそれを有効にすることは意味がありません。とにかくウィンドウを取得するので、それで何もできません。 PuTTY wish no-terminal-windowも参照してください

23
Martin Prikryl

または、PuTTY GUIをウェイドすることもできます。これにより、これも可能になります。見る Connection > SSH > Tunnels左側にオプションツリーがあります。

enter image description here

11
user611775

上記の回答には、問題を解決する2つの異なる方法が記載されています。

  • plinkを使用して
  • puTTY GUIを使用する

Plinkがなく、plink.exeファイル(厳密に監視された制限された環境)をダウンロードできないため、1行のスクリプトを使用してソリューションをスクリプト化する別の方法を使用しました。

start PuTTY -ssh myusername@myLinuxBox -pw my_pw -L 2000:localhost:2000

これをバッチファイル(ファイル拡張子「.bat」、「tunnel.bat」など)に保存します。したがって、このファイルをダブルクリックするたびにコマンドが実行され、PuTTYがsshトンネルを作成します。さらにトンネルが必要な場合は、この部分を繰り返してください

-L 2000:localhost:2000

それに応じてポートを変更します。

1
Nick

「ソース」ポートは、PuTTYを実行しているのと同じマシン上のポート番号です(たとえば、ブラウザでこれを開きます:127.0.0.1:source)。 「接続先」は、ローカルマシンから接続するリモートポートです。これに気づいた後、機能し始めました。

0
Ivan G.