在这里插入图片描述



一、错误原因

这个错误提示表明 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证书的生效日期确实晚于当前时间,你可以等待一段时间,直到证书生效后再进行操作。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐