OpenSSH 与 PuTTY...- 本机支持代理?

OpenSSH 与 PuTTY...- 本机支持代理?

我有点纳闷。我在 Fedora 19 上使用 openssh-clients-6.2p2-4.fc19.x86_64。我通过控制台设置环境变量:

“导出 http_proxy=http://someproxy.officenetwork

在同一个控制台中我尝试运行 ssh 客户端

“ssh 用户@home -p 443”

通过 ssh 端口 443 连接到我的机器(其他端口都被阻止了,在这些可用端口中,443 是最不可疑的:-)

但是 ssh 不会从环境变量中获取代理(与 lynx、curl、yum……相反)。

我知道我可以使用“corkscrew”或“netcast”来帮助我通过办公室代理获取 ssh 连接,但是当使用 egPuTTY 或 BitwiseSSH 时,我只需在设置中指定代理服务器,一切就可以正常工作。

这让我想到了一个问题:OpenSSH 是否本身支持通过本地代理进行连接,或者是否真的有必要使用变通方法(corkscrew、nc......)/另一个具有本机代理支持的客户端?

答案1

您可以为 ssh 指定代理命令,但它需要外部程序,例如connectsocat。根据您拥有的程序,您可以这样使用 ssh :

ssh -o ProxyCommand="socat - PROXY:proxy.net:%h:%p,proxyport=8080" login@target

或者

ssh -o ProxyCommand="connect -H proxy.net:8080 %h %p" login@target

用您的代理的正确值替换proxy.net和。8080

举个例子,我通常设置一个bash别名:

alias sshProxy='ssh -o ProxyCommand="connect -H proxy.net:8080 %h %p"'

相关内容