git clone的时候出现fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was reset, errno 10054

一般发生这种事故因为代理在git种配置的,

既然它是https代理(而不是http)

git config http.proxy和git config --global http.proxy也无济于事。

  • 解决方案一 

1、先看看你的git配置

git config --global -l

如果你没有任何与https代理相关的内容,例如https_proxy = ...问题不在这里。

如果您有与https代理相关的内容,请将其从〜/ .gitconfig文件中删除,然后重试。

2、如果仍然不起作用,请取消设置环境变量 

env|grep -i proxy

你应该有一行或几行https_proxy = ...

使用以下内容逐个取消设置:取消设置https_proxy(或HTTPS_PROXY,具体取决于变量的名称)

3、再次检查环境变量

env|grep -i proxy 

如果它没有显示任何你应该是好的。

注意:此解决方案可以应用于http和https代理问题。只是变量名称从https更改为http。

  • 解决方案二

在开启ss的前提下,手动配置git的代理。git客户端输入如下两个命令就可以了。

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

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

http://也可以改成sockets5://,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。

取消代理,输入一下命令:

git config --global --unset http.proxy 

git config --global --unset https.proxy 

最后再clone一次就能拉去成功了

其实方案一和方案二是同一种方法,不过方案二更加具体一点罢了,大部分问题都可以用方案二解决,当方案二无效时,考虑使用方案一。