ssh访问国外vps

由于国内网络环境复杂, 访问国外vps速度很不稳定, 如果手上恰好有梯子, 那么这个问题就很好解决了

默认情况下, 打开梯子, 本地会有socks5服务, 默认1080端口, 也有可能不一样, 以实际为准

mac客户端

socks5代理

ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:1080 %h %p" root@xx.xx.xx.xx

http代理

ssh -o ProxyCommand="nc -X connect -x 127.0.0.1:3128 %h %p" root@xx.xx.xx.xx
  • -X: 代理协议, 4是socks4, 5是socks5(默认), connect是https(没有http)
  • -x: 代理服务器和端口[代理服务器:端口], 默认socks使用1080, https使用3128

mac自带的ncat工具比较老, 参数可读性也不高, 如果想和linux使用体验一样, 可以通过brew安装最新版本(没有测试过). 另外, mac自带的nc工具不支持代理认证

如果希望使用http代理, 可以使用辅助工具corkscrew(只支持http代理)

# 安装
brew install corkscrew
# 使用
ssh -o ProxyCommand="corkscrew 127.0.0.1 8080 %h %p" root@xx.xx.xx.xx

linux客户端

安装工具

yum install nc

socks5代理

ssh -o ProxyCommand="nc --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p" root@xx.xx.xx.xx

http代理

ssh -o ProxyCommand="nc --proxy-type http --proxy 127.0.0.1:3128 %h %p" root@xx.xx.xx.xx
  • --proxy-type: 代理协议, 分别为socks4, socks5, http(没有https)
  • --proxy: 代理服务器和端口[代理服务器:端口], 默认socks使用1080, http使用3128

如果需要认证: --proxy-auth proxyuser:proxypasswd

展示评论