所以我正在运行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更新打破了它?无论哪种方式,都指向正确的方向。
感谢。
答案 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目录中来解决它。