在Jenkins上从GitHub克隆:无法加载PEM客户端证书

时间:2018-12-18 19:35:21

标签: git jenkins github certificate clone

我设置了构建服务器,并想在Jenkins中克隆一个项目。

我收到以下错误:

  

致命:无法访问“ https://github.com/habitat-sh/sample-node-app/”:无法加载PEM客户端证书,LibreSSL错误错误:02FFF00D:系统库:func(4095):权限被拒绝,(未找到密钥,密码错误,或文件格式错误?)

它在公共GitHub上,不需要证书,当我在终端上克隆时一切正常。而且,curl可以正常工作。

您是否知道导致此问题的原因?尝试了很多堆栈溢出解决方案,例如将git config --global http.sslVerify设置为false,但是它们都不起作用

(操作系统为macOS)

2 个答案:

答案 0 :(得分:1)

我能够自己解决问题。问题是,詹金斯用户无法访问我在GitConfig中设置的ssl证书

git config --global http.sslCert "~/Documents/certificates/cert.crt"
git config --global http.sslKey "~/Documents/certificates/cert.key"
git config --global http.sslCaInfo "~/Documents/certificates/cert-ca.crt"

令人惊讶的是,没有显示权限错误,这使得此问题很难调试。

帮助将证书移到Jenkins用户目录中的原因。

答案 1 :(得分:0)

我遇到了同样的问题,但我只在执行以下操作后才解决:

brew 卸载 git enter image description here

接下来,我回到 repo 目录并在终端中执行 git fetch 并且钥匙串访问打开弹出窗口,要求在凭据标题中输入我的密码。我输入了密码并单击了“始终允许”按钮。之后,所有分叉或克隆的存储库都已使用 git pull 成功更新。

我希望这能帮助其他人。

我的配置:

  • 大苏尔 11.4 版
  • git 版本 2.30.1 (Apple Git-130)

注意事项: 我几个月前在我的钥匙串系统中添加了 GitLab 自签名有效证书