fatal: unable to access 'https://gitlab.lyg-semi.com/intern/rd_22.git/': SSL peer certificate or SSH remote key was not OK
GitLab克隆仓库时SSL证书验证失败的解决方案
当遇到fatal: unable to access 'gitlab URL': SSL certificate problem: Peer's Certificate issuer is not recognized.
这样的错误提示时,这通常意味着客户端无法识别服务器提供的SSL证书颁发机构。有几种方法可以解决这个问题。
方法一:禁用SSL验证
对于开发环境中临时解决问题,可以通过配置Git来忽略SSL验证:
git config --global http.sslVerify false
这条命令会修改全局Git配置文件,使得所有的HTTPS请求都不会再执行SSL证书验证[^2]。
需要注意的是,在生产环境下不建议关闭SSL验证,因为这样做会使通信变得不再安全,容易遭受中间人攻击[^4]。
方法二:安装缺失的信任根证书
如果是因为缺少特定CA(认证中心)签发的中级或根级证书而导致验证失败,则应该考虑更新系统的受信任证书库。具体操作取决于操作系统版本以及其包管理工具。
对于基于Debian/Ubuntu Linux发行版来说,可通过如下方式获取最新官方推荐的一系列公共可信CAs:
sudo apt-get update && sudo apt-get install ca-certificates
而对于RedHat/CentOS而言则是通过yum/yum-config-manager完成相同目的:
sudo yum update && sudo yum install ca-certificates
之后重启网络服务使更改生效,并再次尝试访问远程资源看问题是否得到解决[^1]。
方法三:手动导入自签名或其他非标准证书
有时私有的GitLab实例可能会采用内部生成而非商业购买的方式创建自己的SSL/TLS凭证;此时就需要把该站点所使用的公钥部分导出并加入到本地浏览器乃至整个主机层面的认可名单里去。一般情况下管理员应当已经提供了下载链接或是直接分发.pem/.crt格式文件给用户们自行处理了。
假设已获得名为example.crt的有效X.509编码文本串流形式的数据对象,那么就可以利用下面这段指令把它追加至现有的Java密钥存储区(JKS)或者OpenSSL兼容型PEM集合之中:
cat example.crt >> /etc/pki/tls/certs/ca-bundle.crt
# 或者针对不同平台调整路径...
openssl verify -CAfile /path/to/custom-ca-bundles.pem https://your.gitlab.server/
最后记得刷新应用层面上缓存过的旧状态以便立即看到效果变化[^3]。
相关推荐



















