【Bug-Git】克隆远程仓库-fatal: unable to access ‘https:xxxx’ OpenSSL SSL_read: Connection was reset, errno 10054

Bug-Git

克隆远程仓库-fatal: unable to access ‘https:xxxx’ OpenSSL SSL_read: Connection was reset, errno 10054
  • 进行克隆远程仓库时候,出现以下报错提醒

    fatal: unable to access ‘https:xxxx’ OpenSSL SSL_read: Connection was reset, errno 10054

  • 原因如下:

    1. 报错中的文字有open_SSL,这是一个https的加密协议。因此,在未登录的情况下,默认不能使用https协议下载github上面的文件,否则会被协议拦截。当替换成http协议属于未加密,不会拦截下载请求。

    2. 把https换成git可以下载,应该是github内部自定义的通信协议,所以git协议也不会拦截下载请求。

    3. 先输入命令解除ssl验证后,再次克隆https协议便不会拦截。

      git config --global http.sslVerify false
      
    4. 如果是登录情况下,https协议则不会拦截,也可以下载文件。登录情况指的是配置Git的账号密码,该账号密码就是你的github账号密码,大家通常出现下载报错:fatal: unable to access ‘https:xxxx’ OpenSSL SSL_read: Connection was reset, errno 10054,一般是由于账号没有配置。

  • 总结:

    1. 登录账号能解决问题,原因是https协议属于加密协议,需要验证,否则不让各种git操作。把https替换成git可行是github内部自定义协议,把https替换成http可行是因为http协议属于未加密,否则需要输入命令先解除ssl验证。

    2. 解决方式4种

      # 把https换成git,可以下载
      git clone git://github.com/xxxxxxxxxxx
      
      # 把https替换成http协议属于未加密,可以下载
      git clone http://github.com/xxxxxxxxxxx
      
      # 先输入命令解除ssl验证后,再次克隆https协议,可以下载
      git config --global http.sslVerify false
      git clone https://github.com/xxxxxxxxxxx
          
      # 登录情况,指的是配置Git的账号密码,该账号密码就是你的github账号密码
      
    3. 建议:使用https协议克隆项目到本地会出现很多麻烦,以后还是使用ssh密钥进行克隆方便。使用ssh进行克隆后,在git push pull都需要手动输入密码,如果要避免这样的麻烦,可以在git bash键入命令$ ssh-keygen -p,在设置密码的时候回车即可。

posted @ 2022-04-27 13:57  陈景中  阅读(1584)  评论(0编辑  收藏  举报