解决 git 命令使用 SSH 时无法连接、没有使用代理的问题

我自己的网络环境是透明代理,再不济自己电脑上也能开 TUN,所以 git 命令就算走 ssh,搭配如下配置让连接 GitHub 使用 443 端口,就能走 HTTP 代理:

Host github.com
  HostName ssh.github.com
  Port 443
  User git

但是在不可控的容器环境里无法使用 TUN 的情况下,无法完成透明代理,SSH 也就无法使用代理了。

解决方案如下:

~/.ssh/config 最前面添加以下配置:

Host *
 ProxyCommand nc -x <sock5代理> %h %p

其中 <sock5代理> 是你代理软件开放的 SOCK5 代理地址,例如 127.0.0.1:1080

安装 nc

  sudo apt install netcat-openbsd

改完即刻生效。</sock5代理></sock5代理>