Windows GitLab Runner运行Git子模块时SSL/SSH密钥错误如何解决
Windows下GitLab Runner SSL证书错误解决方案
遇到fatal: unable to access 'https://gitlab/repo.git/': SSL peer certificate or SSH remote key was not OK错误,可按以下方法解决:
1. 导入自签名证书到系统与Git信任库
- 从浏览器导出GitLab的SSL证书:访问你的GitLab域名(如
https://gitlab),点击地址栏锁图标,查看证书并导出为PEM格式(保存为gitlab.crt)。 - 导入到Windows系统信任根:双击证书文件,选择“安装证书”,目标位置选“本地计算机”,然后将证书放入“受信任的根证书颁发机构”。
- 配置Git使用该证书:打开命令提示符执行:
git config --global http.sslCAInfo "C:\路径\到\gitlab.crt"
2. 临时禁用SSL验证(仅测试环境使用)
- 全局禁用Git SSL验证(不推荐生产环境):
git config --global http.sslVerify false - 针对单个Runner任务禁用:在
.gitlab-ci.yml中添加环境变量:variables: GIT_SSL_NO_VERIFY: "true"
3. 修改GitLab Runner配置文件
- 找到Runner配置文件
config.toml(默认路径:C:\ProgramData\GitLabRunner\config.toml)。 - 在
[[runners]]区块内添加环境变量:environment = ["GIT_SSL_NO_VERIFY=true"] - 重启GitLab Runner服务:
gitlab-runner restart
4. 检查证书文件权限
- 若使用自定义证书路径,确保GitLab Runner服务的运行用户(默认是
Local System)能访问该文件。将证书放在公共目录(如C:\GitLabCerts\gitlab.crt),并设置文件权限为“所有用户允许读取”。
内容的提问来源于stack exchange,提问作者elsamuko
相关产品推荐
相关产品推荐

