fatal:unable to access https:// : SSL certificate problem: self signed certificate
时间: 2025-01-21 09:24:41 浏览: 106
### 解决 Git 访问 HTTPS 仓库时遇到的 SSL 自签名证书问题
当尝试通过 HTTPS 协议克隆或推送代码到远程仓库时,如果服务器使用的是自签名证书,则可能会遇到如下错误:
`fatal: unable to access 'https://example.com/repo.git/': SSL certificate problem: self signed certificate`
为了使 Git 接受自签名证书并成功完成操作,可以采取以下几种方法之一。
#### 方法一:临时忽略 SSL 验证
对于一次性操作或者测试环境,可以选择跳过 SSL 验证。这可以通过设置 `GIT_SSL_NO_VERIFY=1` 环境变量来实现[^1]:
```bash
export GIT_SSL_NO_VERIFY=1
git clone https://example.com/repo.git
```
需要注意的是,在生产环境中不建议关闭 SSL 验证,因为这样会降低安全性。
#### 方法二:配置 Git 使用特定 CA 文件
另一种更安全的方法是指定一个包含信任根证书的 PEM 编码文件作为额外的信任库。假设已经获取到了该企业的内部 CA 根证书,并保存为 `/path/to/ca-bundle.crt`,那么可以在命令行中指定此路径:
```bash
git config --global http.sslCAPath /etc/pki/tls/certs/
git config --global http.sslCAInfo /path/to/ca-bundle.crt
```
这种方法允许 Git 在验证服务器提供的证书链时查找这些附加的可信颁发者。
#### 方法三:安装企业内网签发的客户端证书
某些情况下,公司可能要求员工安装由其私有 PKI 基础设施发放的身份认证用的个人 X.509 客户端证书。此时应按照 IT 政策指示导入相应的 .pfx 或其他格式的密钥对文件至本地计算机上,并确保浏览器或其他应用程序能够识别它们。接着修改 Git 的 HTTP(S) 设置指向这个位置[^2]:
```bash
git config --global http.clientCert "/path/to/client-cert.pfx"
git config --global http.sslCertPasswordPrompt true
```
以上三种方式都可以有效解决由于 SSL 自签名证书引起的问题,具体选择取决于实际应用场景和个人偏好。
阅读全文
相关推荐












