Linux Git:无法访问远程:错误设置证书验证位置

时间:2016-05-30 13:26:15

标签: linux git

所以我正在运行OpenSUSE Leap 42.1和Git 2.6.6。直到今天,我从远程GitHub仓库推送/拉取/取出时没有任何问题。

现在,今天,我收到此错误消息:

fatal: unable to access 'https://github.com/myName/myProject.git/': error setting certificate verify locations:
  CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none

无论何时我做推/拉/取,我都明白了。我的第一个想法是检查提供的文件路径,并且/ etc / ssl / certs中不存在名为ca-certificates.crt的文件。

所以......我不完全确定该怎么做。不知道为什么这突然停止工作,也许操作系统或git更新打破了它?无论哪种方式,都指向正确的方向。

感谢。

2 个答案:

答案 0 :(得分:6)

显然,有时候证书文件会发生变化,所以你需要保留几个,而不是一个!此外,我建议尝试并保持安全连接,而不是将其关闭:

git config --system http.sslVerify false

或者更糟:

git config --global http.sslVerify false

这是一种非常糟糕的做法,应该避免所有原因。

首先,查看该捆绑包证书文件。在Windows中,它位于git安装目录下,如:

D:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt

在Linux中,你可以试试这样的东西(虽然我没试过):

$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**

或者可能是其他地方:

**/etc/ca-certificates/extracted/ca-bundle.trust.crt**

无论在何处获得捆绑认证文件,或者您正在使用的操作系统,您都需要告诉git使用该证书进行配置。您可以修改git.config文件的几个原因,但只有一个方法是:

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

我希望它有所帮助。有关更多信息,还有其他discussion。如果有帮助,请告诉我。

答案 1 :(得分:0)

检查其他地方可能有ssl文件。我在Windows 10安装中遇到同样的问题,我通过创建一个usr目录并将ssl目录的内容复制到usr目录中来解决它。