如果你是开了代理的情况下,Git失效了可以参考我的解决方法
今天Git忽然抽风了,显示连接失败
正在获取 origin
kex_exchange_identification: Connection closed by remote host
Connection closed by 20.205.243.166 port 22
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。
error: 不能获取 origin
众所周知Git一般不抽风,抽了风就比较麻烦,大概率是网络问题但不太好定位,一番搜索之后在Github官网找到了解决方案
原文在这,因为官方暂时还没有提供中文文档,这里先记录一下
原因我没有看懂,不过解决方案大致就是换了一个域名连接
解决方案
首先测试一下你的Git是否能正常访问ssh.github.com
ssh -T -p 443 git@ssh.github.com
第一次连接可能会收到一段警告,指出在 known_hosts 中找不到该host,或者它是由另一个名称找到的,这里yes通过就好
之后如果显示下面信息,就说明你已经连接成功了
Hi aftermath0703! You've successfully authenticated, but GitHub does not provide shell access.
之后你就可以更改你的配置了
sudo vim ~/.ssh/config
加入以下信息
Host github.com
Hostname ssh.github.com
Port 443
User git
之后你就可以测试Git是否能成功连接了
$ ssh -T git@github.com
Hi aftermath0703! You've successfully authenticated, but GitHub does not provide shell access.