解决方案

结论就是 CA 证书过时了,所以无法校验我们的身份。需要我们更新一下 CA 证书。
执行以下两个指令:

  1. 重新安装 CA 证书指令。
sudo apt-get install --reinstall ca-certificates
  1. 设置 git 参考证书为刚刚安装的证书。
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt

我是执行了这两部就解决了 git push 的问题。
但是对于有开发 SSL 需求的同学来说(Not so good if you’re developing an SSL site on a development domain),最好再设置一下 root ca-certificate。

sudo mkdir /usr/local/share/ca-certificates/cacert.org
sudo wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
sudo update-ca-certificates

参考文章

https://stackoverflow.com/questions/35821245/github-server-certificate-verification-failed
我非常建议大家遇到问题去 stackoverflow 上看解决方案。我也不知道为什么C站同一个问题很多胡说八道的人。同时不光要能解决问题,还要大概明白一下背后的原理,这样下次看到离谱的解决方案有基本的辨别能力。

02-23 13:05