35

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

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

我在 PuTTY 中尝试了许多选项,包括将 GUI 中的源端口设置为“2000”,将目标端口设置为“SomeIp:2000”。目的地设置为本地(如-L交换机所建议的那样)。

我成功登录到我的 SSH 框,但没有进行端口转发。

这在 Windows 中是否可能,以便使用此端口(2000)的程序建立的所有连接都将通过此隧道?

4

5 回答 5

32

使用 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 隧道设置

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

PuTTY 事件日志

-N转换为选项" Don't start a shell or command at all"

PuTTY 选项 根本不启动 shell 或命令

但是使用 GUI 客户端启用它可能没有意义,因为无论如何你都会得到一个窗口,你只是不能用它做任何事情。另请参阅PuTTY 希望 no-terminal-window


如果您打算使用隧道与 PuTTY 连接到另一台服务器,您实际上可以将隧道设置为会话设置的一部分,并使用plink用作代理,请参阅:PuTTY 配置等效于 OpenSSH ProxyCommand

于 2015-03-20T14:29:58.543 回答
14

您可能希望使用plink.exeGUI 客户端来代替。命令行语法与 iirc 兼容。

于 2011-02-11T21:18:46.607 回答
12

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

在此处输入图像描述

于 2011-02-11T21:27:14.883 回答
3

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

  • 使用 plink
  • 使用腻子图形用户界面

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

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

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

-L 2000:本地主机:2000

通过相应地更改端口。

于 2019-07-05T12:25:54.817 回答
1

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

于 2018-08-13T06:08:46.683 回答