GitHub自托管操作运行器git LFS失败x509证书由未知机构签名



我正在尝试创建一个运行在windows服务器自托管运行器上的GitHub动作,我被困在LFS下载部分的结帐失败

我用

- uses: actions/checkout@v3
with:
lfs: true

正常代码的签出工作得很好,但是当它到达LFS下载步骤时,我收到了许多关于x509:由未知权威签名的证书的抱怨消息。

LFS: Get "https://github-cloud.githubusercontent.com/alambic/details_changed_to_protect_the_innocent": x509: certificate by unknown authority

自托管运行程序位于防火墙后面的域上,该防火墙询问https流量并将自己的证书插入到链中,因此我猜测未知的权威是该证书,但我不知道该证书需要信任在哪里以便工作。

证书受操作系统信任,并通过组策略安装在证书存储中,但似乎git LFS正在验证与之分离的证书链,并且无论如何都会报错,因为证书是意外的。

一个常见的解决方案,我已经看到浮动像这样的事情只是关闭SSL检查,但这感觉只是一个临时的黑客,而不是一个真正的解决方案。我希望所有的安全措施都到位。

作为一个额外的注意,这是运行在一个服务器上,也运行TeamCity,和TeamCity GitHub配置能够克隆与LFS从同一台服务器的repos,所以这些问题只是在GitHub的操作运行器环境设置。

由于防火墙只将其证书插入到https通信中,因此我能够使用ssh-key使事情正常工作。我将私钥作为秘密添加到repo的部署密钥中,并将公钥添加到repo的部署密钥中,现在一切都如预期的那样工作。

- uses: actions/checkout@v3
with:
lfs: true
ssh-key: ${{secrets.repo_ssh}}

相关内容

  • 没有找到相关文章

最新更新