【git 报错】git push时,报错:fatal unable to access ‘远程仓库网址‘ server certificate verification failed.
·

一、错误原因
这个错误提示表明 Git 在尝试访问远程仓库时遇到了 SSL 证书验证失败的问题。
二、解决思路
我这里提供一种解决思路: SSL 证书验证失败,可能是你系统的时间比 SSH证书生效的时间 还要早
简单来说:你系统的时间为2012年,但你的 SSH证书生效是在2024年,则在你当前系统时间下,SSH证书当然也就不生效了,导致 SSL 证书验证失败
(1)你可以使用 curl 命令来测试与远程仓库的连接,看看是否有更详细的错误信息,例如:
// curl 命令测试你的远程仓库,后面填写你远程仓库的网址
curl -v https://gitee.com/.../...
(2)查看 curl 的输出信息
若在这些输出信息中,发现有下面这句话:
curl: (60) SSL certificate problem: certificate is not yet valid
这表明服务器的 SSL 证书“证书尚未生效”(certificate is not yet valid)。这意味着服务器的证书的有效期还没有开始,这通常发生在证书的生效日期晚于当前系统日期的情况下。
如果没有这句话,大概率不是我们现在这种错误,请另寻他法;
如果有则继续往下看解决方式:
三、解决方案
这里有几个可能的解决方案:
1. 检查系统时间和时区
(1)确保你的系统时间和时区设置是正确的。
不正确的系统时间可能会导致证书验证失败。
date
我一检查,发现我系统的时间确实错了,不知道什么时候改的,居然是 2012年(真离谱)

(2)修改时间的两种方式
如果你发现系统时间不正确,可以手动设置系统时间或使用 NTP 同步时间:
sudo timedatectl set-ntp true
我发现使用这条命令,修改的时间还是原来的那个2012的时间,因此我选择手动设置
手动设置时间:
sudo date -s "YYYY-MM-DD HH:MM:SS"
手动设置当前时间之后,再次进行 git push 操作,确实成功了
2. 等待证书生效
如果你的系统时间确实正确,则表明SSH证书的生效日期确实晚于当前时间,你可以等待一段时间,直到证书生效后再进行操作。
更多推荐
所有评论(0)