You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

执行Git Pull时遇SSL证书信任错误,寻求解决方案

解决Amazon Linux实例上Git证书信任失败问题

碰到过一模一样的情况,Amazon Linux实例突然出现Git证书信任问题,大概率是系统根证书包过期,导致不再信任Digicert这类主流CA的证书。给你几个亲测有效的解决步骤:

1. 优先更新系统根证书包

Amazon Linux使用ca-certificates管理根证书,先更新这个包:

sudo yum update ca-certificates -y

更新完成后,建议重启一下实例(或者至少重启Git相关的会话),然后再尝试执行git pull,大部分情况这一步就能解决问题。

2. 手动导入Digicert根证书(更新包无效时)

如果更新证书包后还是不行,可能是某些关键的Digicert根证书没有被包含在系统信任列表里,手动导入:

  • 下载Digicert Global Root CA证书(GitHub的SSL证书链依赖这个根证书):
sudo curl -o /etc/pki/ca-trust/source/anchors/DigiCertGlobalRootCA.crt https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
  • 更新系统证书信任存储:
sudo update-ca-trust extract

执行完这两步,系统就会信任Digicert的根证书了。

3. 临时绕过证书检查(仅测试用,不推荐)

如果只是临时需要拉取代码,不想花时间折腾证书配置,可以临时关闭Git的SSL验证,但这会带来安全风险,不要长期使用

git config --global http.sslVerify false

问题解决后记得改回默认设置:

git config --global http.sslVerify true

4. 检查系统时间是否正常

有时候系统时间偏差过大也会触发证书验证失败,先确认时间是否正确:

date

如果时间不对,用NTP同步时间:

sudo ntpdate pool.ntp.org

内容的提问来源于stack exchange,提问作者Travis

火山引擎 最新活动