问题描述
在执行克隆时出现证书校验失败:
git clone https://192.168.114.7/demo/example.git
fatal: unable to access 'https://192.168.114.7/demo/example.git/': server certificate verification failed. CAfile: none CRLfile: none
直接答案(环境变量)
让 Git 临时忽略证书校验的环境变量是:
GIT_SSL_NO_VERIFY=1
示例:
GIT_SSL_NO_VERIFY=1 git clone https://192.168.114.7/demo/example.git
或在当前 shell 会话中先导出:
export GIT_SSL_NO_VERIFY=1
git clone https://192.168.114.7/demo/example.git
其他方式(非环境变量)
全局关闭 Git 证书校验(不推荐长期使用):
git config --global http.sslVerify false
clone 后仅当前仓库关闭 sslVerify(推荐临时方案)
如果只是为了这个仓库临时工作,不要改全局配置。可以在 clone 成功后,仅写入当前仓库的 .git/config:
cd example
git config --local http.sslVerify false
git config --local --get http.sslVerify
预期输出:
false
说明:
--local只影响当前仓库,不会影响其他仓库。- 配置保存位置是当前仓库的
.git/config。 - 用完建议恢复:
git config --local --unset http.sslVerify
安全提醒
- 忽略证书校验会增加中间人攻击(MITM)风险。
- 仅建议在内网临时排障或测试环境使用。
- 更安全做法:把内网 CA/自签证书加入系统信任链,保持
sslVerify=true。
一句话结论
如果你问“添加哪个环境变量可以让 Git 忽略证书校验”,答案是:GIT_SSL_NO_VERIFY=1。