如何在Windows中使用PuTTY创建SSH隧道?

时间:2011-02-11 21:14:35

标签: windows ssh putty ssh-tunnel

我需要在Windows中使用PuTTY创建SSH隧道,这与Linux中的此命令相同:

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

我在PuTTY中尝试了很多选项,包括将GUI中的源端口设置为“2000”,将目标设置为“SomeIp:2000”。目的地设置为本地(如-L开关所示)。

我成功登录了我的SSH盒子,但未进行端口转发。

这在Windows中是否可行,因此使用此端口(2000)的程序所做的所有连接都将通过此隧道?

5 个答案:

答案 0 :(得分:21)

使用PuTTY套件,您可以使用PuTTY本身(GUI)或使用命令行工具plink.exe来设置隧道。


使用plink.exe,您使用与OpenSSH ssh相同的参数,但-f除外,它在Windows中没有等效项。

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

参考:Using the command-line connection tool Plink


使用PuTTY,-L 2000:SomeIp:2000转换为:

PuTTY tunnel settings

实际上,你声称已尝试过。如果您有任何问题,请使用PuTTY事件日志进行调查:

PuTTY event log

-N转换为选项"根本不启动shell或命令"

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

但是对于启用它的GUI客户端来说可能没有意义,因为无论如何你都得到了一个窗口,你就无法用它做任何事情。另请参阅PuTTY wish no-terminal-window

答案 1 :(得分:11)

您可能希望使用plink.exe而不是GUI客户端。命令行语法与iirc兼容。

答案 2 :(得分:11)

或者你可以通过putty GUI进行跋涉,这也允许这样做。请参阅左侧的Connection > SSH > Tunnels和选项树。

enter image description here

答案 3 :(得分:1)

以上答案提到了解决问题的两种不同方式:

  • 使用plink
  • 使用腻子GUI

我没有plink,也无法下载plink.exe文件(这是一个受严格监控的受限环境),因此使用了一种单行脚本来编写解决方案脚本:

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

将此文件存储在批处理文件中(文件扩展名为“ .bat”,例如“ tunnel.bat”)。因此,每次您双击该文件时,都会运行命令,而腻子将创建ssh隧道。如果您想要更多的隧道,只需重复此部分

  

-L 2000:localhost:2000

相应地更改端口。

答案 4 :(得分:0)

“源”端口是运行腻子的同一台计算机上的端口号(例如,在浏览器中打开该端口:127.0.0.1:source)。 “目标”是您要从本地计算机连接到的远程端口。我意识到这一点后便开始工作。