我真的很挣扎。
我的主机 (A) 在代理/防火墙 (PF) 后面,需要连接到主机 H。
代理配置了 HTTP/FTP/SOCK 代理,我在 Web 浏览器、wget 等中配置没有问题。
但是当我使用...
ssh H //to connect my host
我没有成功通过代理。它似乎试图直接连接而不是通过PF。
我正在使用 Ubuntu 12.10。
我真的很挣扎。
我的主机 (A) 在代理/防火墙 (PF) 后面,需要连接到主机 H。
代理配置了 HTTP/FTP/SOCK 代理,我在 Web 浏览器、wget 等中配置没有问题。
但是当我使用...
ssh H //to connect my host
我没有成功通过代理。它似乎试图直接连接而不是通过PF。
我正在使用 Ubuntu 12.10。
检查 sshProxyCommand
选项的文档。您可以指定要运行的命令(例如 nc)以连接到给定的主机和端口。例如,将其添加到您的 .ssh/config 可能有助于遍历 SOCKS5 代理:
ProxyCommand nc -x MY_PROXY_HOST:MY_PROXY_PORT %h %p
更详细的说明将取决于您的环境。
有几种方法可以做到这一点。您可以使用 nc 或尝试像开瓶器这样的包装器。我将用 wrapeer 描述方式:
首先通过 apt-get 安装
corkscrew 然后您需要在./ssh/config文件中指定 ProxyCommand (将 example-proxy.com 和 8080 替换为您的代理主机和端口):
Host *
ProxyCommand corkscrew example-proxy.com 8080 %h %p ~/.ssh/proxyauth
您的登录凭据应采用 ~/.ssh/proxyauth 格式:
login:password