我在防火墙后面的 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 也应该可以工作。