Git Clone 失败:服务器证书验证失败。

24

由于以下错误,我一直无法git clone任何GitHub仓库:

fatal: unable to access 'github_url': server certificate verification failed. CAfile: /home/ubuntu/.ssh/rel3_dodroot_2048.crt CRLFile: none

我注意到其他一些人也遇到了类似的错误,但是证书在.ssl文件夹中。然而,我从未见过任何人遇到这个证书在.ssh中的问题,我不知道该如何解决它。

环境:

6个回答

38

好的,我找到解决方案了......我猜测我的电脑上运行了一个脚本(我之前没有查看),该脚本运行了这一行代码:

git config --global http.sslVerify true

所以解决方案就是简单地改变运行方式

git config --global http.sslVerify false

呵呵...


我试图在我电脑上创建的Ubuntu虚拟机中使用git clone下载文件。这对我起作用了。 - user4002112
5
这个回答至少应该添加一个警告,说这样做可能会增加您的安全风险。您正在禁用全局SSL验证。最好是将git服务器的证书添加到本地机器上,这样它就会信任此服务器。即使您没有这样做,也不要在全局范围内禁用SSL验证,只应对此仓库禁用。 - Girl Spider

9

我遇到了与此相同的错误,然后我运行了以下命令:

export GIT_SSL_NO_VERIFY=1

对我来说它能够工作,我正在使用Ubuntu操作系统。


1
+1 很好。而且你可以使用它,而不必像“GIT_SSL_NO_VERIFY=1 git clone ...”那样永久性地进行更改,这对安全性更好。 - Daniel Bişar

6

注意不要禁用证书验证等安全功能!该错误表明您的计算机存在一些配置问题,假设GitHub.com实际上具有有效证书。通过禁用验证来覆盖此错误只会增加更多的配置问题,而不能解决潜在的问题。

在我的情况下,我发现我的系统时钟错误,并且设置在 GitHub.com 证书有效之前。修复时钟问题可以解决问题,无需将我的计算机暴露给安全威胁。


1
构建Docker镜像时,我遇到了这个错误。解决方法是在我的Dockerfile中添加以下内容。请确保在git clone调用之前调用update-ca-certificates
RUN apt-get -y install --no-install-recommends ca-certificates \                             
  && update-ca-certificates \
  && git clone whatever

0

如果你想复制(克隆)而不用处理证书问题,可以参考这篇文章(禁用证书验证)。


-2

从您的Github帐户中删除所有与SSH证书相关的引用,并使用电子邮件地址和密码手动验证。


我不明白。在我的账户设置中没有列出任何SSH密钥。 - Msquared
请尝试在您的Git账户设置中添加一个SSH密钥。 - user6382498

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接