目录

ssh通过代理连接服务器(proxytunnel)

背景说明

有一天电脑突然无法通过代理连接到服务器,使用的是ncat连接到代理服务器,折腾了两个星期终于找到了解决办法,就是使用proxytnnel

mac安装方法

brew install proxytunnel

在终端登陆,通过代理服务器102连接到259服务器

1
ssh -o ProxyCommand='proxytunnel -p 192.168.1.102:3128 -P proxy_username -F ~/.ssh/myauth -d %h:%p' [email protected] -i key.pem
1
2
3
-p: 代理的ip和port
-P: 用户名,会提示输入代理服务器的密码
-F: 指定代理的文件用户名密码

写入 .ssh/config 配置文件

1
ProxyCommand /usr/local/bin/proxytunnel -p 192.168.1.102:3128 -P proxyuser -F ~/.ssh/myauth -d %h:%p
1
proxytunnel写上绝对路径,通过 `which proxytunnel` 找到。

~/.ssh/myauth 内容

1
2
proxy_user = proxyuser
proxy_passwd = password

官方文档


其他解决方案

  1. ncat 用了很久的ncat方法,虽然现在用不到,也记录一下。 写入 ~/.ssh/config
1
ProxyCommand  /usr/local/bin/ncat --proxy-type http --proxy 192.168.1.102:3128  --proxy-auth proxyuser:password %h %p
  1. corkscrew(只支持http)
1
ssh -o ProxyCommand='corkscrew proxy.net 8888 %h %p ~/.ssh/myauth' [email protected]

~/.ssh/myauth 的内容:

1
username:password

参考文档