SSL certificate problem: unable to get local issuer certificate
时间: 2025-07-01 19:06:30 浏览: 5
在使用 Git 或其他网络通信工具时,可能会遇到 `SSL certificate problem: unable to get local issuer certificate` 的错误提示。该问题通常与 SSL/TLS 证书验证失败有关,可能是由于系统缺少受信任的根证书、证书链不完整或配置不当引起的。
### 常见原因及解决方案
#### 1. 系统缺少根证书
某些操作系统(如 macOS 或 Linux)可能没有预装完整的 CA 根证书包,导致无法验证服务器提供的证书。可以通过安装缺失的证书来解决此类问题。
- 在 macOS 上,可以尝试更新 Keychain 中的信任证书。
- 在 Linux 上,可安装 `ca-certificates` 包以确保系统具备基础的可信根证书 [^2]。
```bash
sudo apt-get install ca-certificates # Debian/Ubuntu
sudo yum install ca-certificates # CentOS/RHEL
```
#### 2. 使用 Git 时关闭 SSL 验证(仅限测试环境)
若是在测试环境中调试,可临时禁用 SSL 证书验证:
```bash
git config --global http.sslVerify false
```
此设置会跳过 SSL 证书检查,适用于内部私有仓库或开发调试阶段。**不建议在生产环境中使用此配置** [^1]。
#### 3. 指定自定义 CA 证书路径
如果使用的是企业内部 CA 或自签名证书,可以通过配置 Git 使用本地的 CA 证书进行验证:
```bash
git config --global http.sslCAInfo /path/to/cert.pem
```
其中 `/path/to/cert.pem` 是你本地存储的 CA 证书文件路径 [^3]。
#### 4. 更新系统时间
SSL 证书依赖于准确的系统时间进行有效性判断。若系统时间错误,可能导致证书被认为无效。可通过同步网络时间服务(NTP)来修正时间。
```bash
sudo timedatectl set-ntp true
```
#### 5. 使用 SSH 替代 HTTPS 协议
若频繁出现 SSL 证书问题,可考虑改用 SSH 协议访问远程仓库。首先生成 SSH 密钥并添加到 GitHub/Gitee 等平台:
```bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
cat ~/.ssh/id_rsa.pub
```
将输出的公钥添加至账户设置中,之后使用 SSH 地址克隆仓库即可绕过 SSL 验证问题 [^3]。
---
###
阅读全文
相关推荐














