ssh 或 git 使用代理

最近用到了阿里云代码管理,前期使用还好好的,后来发现 git 提示

kex_exchange_identification: read: Connection reset by peer Connection reset by 47.98.49.44 port 22 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

我查了下资料,说是对方网站把我的 IP 屏蔽了,真是坑。没办法只能想其他办法,最后代理绕过去。

测试环境:Win10 64bit 网上一堆资料都是直接这样:

1
2
3
git config --global http.proxy 'http://127.0.0.1:1080'

git config --global https.proxy 'http://127.0.0.1:1080'

然而并没有用,刚开始我还怀疑我哪里没有配置正确,一步步用了排除法折腾一段时间后,发现这个配置是无效的。最后找的这个方法可用:

  1. 确保电脑已安装了 Git,在安装目录下找到这个文件 connect.exe。如 D:/Program Files/Git/mingw64/bin/connect.exe
  2. 创建 ssh 的 config 文件,C:\Users\Broly.ssh\config
  3. 编辑加入如下配置
    1
    2
    3
    4
    5
    6
    7
    8
    Host code.aliyun.com
    User git
    Port 22
    Hostname code.aliyun.com
    ProxyCommand "D:/Program Files/Git/mingw64/bin/connect.exe" -H 127.0.0.1:1080 %h %p
    IdentityFile "C:\\Users\\Broly\\.ssh\\id\_rsa"
    TCPKeepAlive yes
    IdentitiesOnly yes
    把上面配置中的部分内容改成你实际的数据即可。