📌  相关文章
📜  git clone 致命:无法访问 SSL 证书问题:证书链中的自签名证书 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:16.742000             🧑  作者: Mango

git clone 致命:无法访问 SSL 证书问题:证书链中的自签名证书

如果你在使用 git clone 命令时遇到了以下错误:

fatal: unable to access 'https://github.com/username/repo.git/': SSL certificate problem: self signed certificate in certificate chain

那么你就需要解决这个 SSL 证书问题。

什么是 SSL 证书?

SSL(安全套接层)证书是一种由认证机构(CA)发放的文件,用于证明网站身份的合法性和数据传输的安全性。通过SSL证书,可以保证网站传输的数据加密,并能够证明网站的真实身份,从而有效地避免了恶意攻击和数据泄露等安全问题。

为什么会出现 SSL 证书问题?

当 git clone 命令尝试连接一个使用 SSL 加密的 URL 时,它会试图检查使用的 SSL 证书是否有效和可信。如果 SSL 证书受到篡改、过期、签发机构不受信任等问题,则会出现 SSL 证书问题。

同时,如果你在本地使用了自签名的 SSL 证书,Git 也会认为它不可信,而产生“自签名证书”错误。

如何解决 SSL 证书问题?

有多种解决方法可以解决 SSL 证书问题,以下将介绍两种较为简单的方法。

第一种方法:配置 Git 忽略 SSL 检查

可以在执行 git clone 命令时,将 GIT_SSL_NO_VERIFY 环境变量设置为 true,来忽略 SSL 检查。这样可以绕过证书检查,但不太安全。

$ GIT_SSL_NO_VERIFY=true git clone https://github.com/username/repo.git
第二种方法:使用可信的 SSL 证书

将有效的 SSL 证书添加到系统的信任列表中,就可以解决以上问题。

具体操作方法因操作系统而异,以下以 Ubuntu 为例:

  1. 下载证书
$ openssl s_client -showcerts -connect github.com:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > github.pem
  1. 将证书添加到系统信任列表中
$ sudo cp github.pem /usr/local/share/ca-certificates/github.crt
$ sudo update-ca-certificates

添加完毕后,你就可以正常使用 git clone 命令了。

结论

以上是关于 git clone SSL 证书问题的介绍,若遇到此问题,可按照上述方法进行解决。但是建议在安全的网络环境中使用 git clone 命令,以确保数据的安全和减少风险。