如何让 WinScp 使用与 Cygwin ssh 相同的代理

如何让 WinScp 使用与 Cygwin ssh 相同的代理

我在防火墙后面的 Windows 机器上工作。

在 Windows 控制面板中,配置了一个代理 .pac 文件,浏览器可以成功使用该文件。

当我使用 ssh(在 Cygwin 中)时,我已将其ProxyCommand配置为通过某些主机(比如 some.where.com 端口 80)访问外部主机,并且它可以工作。

我的问题出在 WinScp 上。如果我不做任何特殊的代理设置,它就不会连接;但如果我设置与我在 Cygwin 中为 ssh 配置的相同的代理服务器和端口 - 它就不会连接(并且没有告诉我具体原因)。

我能做些什么?

答案1

如果您在 cygwin 下的代理设置使用某个命令 - 具体来说,connect-proxy请使用该命令。

例如,假设您的$HOME/.ssh/config文件针对目标机器包含以下行:

MyDestinationMachine
    ProxyCommand connect-proxy -H some.where.com:80 %h %p

在这种情况下,在 WinScp 中,转到Preferences| Connection| Proxy,然后在该窗格内 -设置代理服务器。请改为设置当地的代理类型。

然后向下Proxy Settings,浏览代理命令的路径;然后添加相关参数。对于上面的示例,这可能是:

C:\\cygwin64\\bin\\connect-proxy.exe  -H some.where.com:80 %host %port

现在,如果 Cygwin 中的 ssh 可以工作,那么 WinScp 也应该可以工作。

相关内容