通过代理在Linux中通过SSH客户端连接到主机

Agu*_*gus 7 linux ssh proxy ubuntu-12.10

我真的很挣扎.

我的主机(A)位于代理/防火墙(PF)后面,需要连接到主机H.

代理已配置HTTP/FTP/SOCK代理,我在Web浏览器,wget等中配置没有问题.

但是当我用...时

ssh H //to connect my host 
Run Code Online (Sandbox Code Playgroud)

我没有成功通过代理.它似乎试图直接连接而不是通过PF.

我正在使用Ubuntu 12.10.

And*_*oss 8

检查文档以获取ssh ProxyCommand选项.您可以指定要运行的命令(例如,nc)以连接到给定的主机和端口.例如,将此添加到.ssh/config可能会遍历SOCKS5代理:

ProxyCommand nc -x MY_PROXY_HOST:MY_PROXY_PORT %h %p
Run Code Online (Sandbox Code Playgroud)

更详细的说明将取决于您的环境.


小智 5

有几种方法可以做到这一点.您可以使用nc或尝试开瓶器之类的包装.我将用刮水器描述方式:

首先通过apt-get安装
corkscrew然后你需要在./ssh/config文件中指定ProxyCommand (用你的代理主机和端口替换example-proxy.com和8080):

Host *
  ProxyCommand corkscrew example-proxy.com 8080 %h %p ~/.ssh/proxyauth
Run Code Online (Sandbox Code Playgroud)

您的登录凭据应为〜/ .ssh/proxyauth格式:

login:password
Run Code Online (Sandbox Code Playgroud)

  • '%h%p'是什么意思? (2认同)