透过代理连接SSH
通过SSH代理(SSH over SSH)
使用nc命令(netcat)实现,假设本地SSH代理的监听端口是3000,则ProxyCommand为
ProxyCommand nc -x 127.0.0.1:3000 %h %p
其中%h表示目标地址,%p是目标端口。这句可以用在命令行里,例如
ssh -oProxyCommand="nc -x 127.0.0.1:3000 %h %p" -i ~/.ssh/github git@github.com
或者写入config文件(参见使用SSH CONFIG) ~/.ssh/config
Host 名称
HostName 域名/IP
User 用户
IdentityFile 证书文件路径
ProxyCommand nc -x 127.0.0.1:3000 %h %p
nc也可以用于HTTPS代理,这需要指定所使用的协议,即添加 -X connect 参数。比如ssh_config中的例子
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。