每天记录学习的新知识:GitHub push failed,SSL certificate problem
发布日期:2021-05-10 05:20:50 浏览次数:17 分类:精选文章

本文共 1303 字,大约阅读时间需要 4 分钟。

遇到SSL证书问题?这里是解决方案

在使用HTTPS克隆GitHub仓库时,您可能会遇到以下错误:

Failed with error: unable to access 'https://github.com/ShenYangKratos/BlogDemo.git/': SSL certificate problem: unable to get local issuer certificate

这条错误提示您无法通过本地证书颁发者获取GitHub仓库的SSL证书。这是因为HTTPS连接需要信任关系,涉及到证书颁发机构(CA)的认证。通常,在这种情况下,您可能需要配置Git客户端以绕过此限制。下面是详细的解决方案。

主要原因

该错误是由于Git客户端无法验证医院友好的SSL证书。这通常是因为Git连接到远程仓库时_expect.sslverify_选项设置为启用。GitHub使用的HTTPS证书由自己的证书颁发机构签名,这意味着这些证书可能不在您的系统中信任列表中。在这种情况下,Git不能确认这是一个有效的证书颁发机构颁发的证书,从而导致连接失败。

这是一种常见的安全措施,防止恶意中间人攻击。因此,在绕过此选项之前,请确保您的系统信任列表中的证书颁发机构包括GitHub的官方证书颁发机构。检查方法如下:

解决方法

要绕过HTTPS验证并解决该问题,可以通过Git配置直接DISABLE SSL验证。可以选择以下方式完成:

git config --global http.sslVerify false

这条命令会设置Git的全局配置,使得它在所有Git操作中都允许不验证SSL证书。这样可以绕过上述SSL验证步骤,从而解决GitHub连接问题。

如果推荐的方法不奏效

如果上述方法成功了,请确保在提交代码之前已经完成了以下步骤:

  • 确保Your system's certificate store trusted publishers包含GitHub的证书颁发机构。
  • 检查Git配置,确保http.sslverify的值是false(在您的全局配置中)。
  • 如果您使用的是 JetBrains Rider 或其他IDE,checkout GitHub仓库时可能需要手动设置证书管理选项。

如果问题仍然存在,请确保信任cacerts.pem文件包含了正确的证书颁发机构证书。如果没有,那可能需要将其添加到您的系统信任列表中。以下是解决步骤:

curl -o /usr/share/ca-certificates/cacerts.pem -LOk < Kids' show<<
然后执行:
update-ca-certificates
这是在Linux/Mac系统上添加信任新颁发机构的方法。如果您不熟悉以上步骤,可以参考您的操作系统文档。
结论
遇到SSL证书问题时,首先检查是否信任了正确的证书颁发机构。如果信任列表中缺乏重要证书颁发机构,手动添加或配置Git客户端以绕过verification检查可以解决问题。通过配置Git客户端可以快速修复此类 SSL证书相关问题。
上一篇:每天记录学习的新知识 : Android Support v4\v7\v13和AndroidX的区别及应用场景
下一篇:每天记录学习的知识:Comparable 多条件比较器

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月13日 10时12分42秒