PuTTY 中的 OpenSSH ProxyCommand 等效项

Ale*_*onk 6 ssh putty

我有一个看起来像这样的配置文件

Host <NAMEOFHOST>
   user <USERNAME>
   hostname <IP>

Host <NAMEOFHOST2>
   user <USERNAME>
   ProxyCommand ssh -q -W %h:%p <NAMEOFHOST>
Run Code Online (Sandbox Code Playgroud)

将此行添加到配置文件后,我将能够使用命令连接到服务器

ssh <NAMEOFHOST2>
Run Code Online (Sandbox Code Playgroud)

但是,有一个小问题。我没有 Ubuntu,我真的不想安装它(因为 UEFI)。

因此,我正在尝试使用 PuTTY 连接到服务器。

这就是我所做的

Connection -> Proxy -> Proxy type = Local
                       Proxy hostname = <NAMEOFHOST>
                       Telnet command = ssh -q -W %h:%p <USERNAME>@<NAMEOFHOST>
Session -> Hostname <NAMEOFHOST2>
           Connection type = SSH
Run Code Online (Sandbox Code Playgroud)

当我尝试连接到服务器时,我得到

服务器意外关闭网络连接

我的设置有什么问题?谢谢你。


更新:感谢您对 PuTTY 的建议。我试过了,但它不想连接。

因此,我尝试使用 OpenSSH。在那里,我刚刚向ssh_config. 但是,现在,当我尝试连接到服务器时,我得到了这个

ssh_exchange_identification:连接被远程主机关闭。

我不知道我做错了什么。

Mar*_*ryl 11

ssh的 Windows 系统上可能没有二进制文件。

您可以使用plink.exewith-nc开关代替sshwith-W开关:

PuTTY 本地代理


另一种方法是首先使用 PuTTY(或 Plink)的另一个实例通过“NAMEOFHOST”打开隧道。

例如,参见隧道 SFTP/SCP 会话指南。它用于 WinSCP,但只需在通过隧道连接部分中使用 PuTTY 而不是 WinSCP 。


或者,您可以ssh.exeMicrosoft 版本的 OpenSSH for Windows 获取。在 Windows 10 版本 1803 或更高版本上,内置了 OpenSSH。在旧版本的 Windows 10 上,您可以安装它,也可以只下载一个 ZIP 包。客户端工具不需要任何安装,您只需提取它们即可。

另请参阅OpenSSH 是否支持多跳登录?