GitHub self-hosted action runner git LFS 未通过由未知权威签署的 x509 证书

GitHub self-hosted action runner git LFS fails x509 certificate signed by unknown authority

我正在尝试创建一个在 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 signed by unknown authority

自托管运行器所在的域位于防火墙后面,防火墙会询问 https 流量并将其自己的证书插入链中,所以我猜测未知授权机构就是该证书,但我不知道知道需要在哪里信任该证书才能正常工作。

该证书受 OS 信任并通过组策略安装在证书存储中,但似乎 git LFS 正在验证与此分开的证书链并且无论如何都会抱怨,因为证书是意外的。

我见过一个常见的解决方案,就是关闭 SSL 检查,但这感觉只是一个临时的 hack,而不是真正的解决方案。我希望它能在所有安全措施到位的情况下工作。

作为附加说明,这是 运行 在也是 运行 TeamCity 的服务器上,并且 TeamCity GitHub 配置能够从同一服务器使用 LFS 克隆回购协议,所以这些问题只是在设置的 GitHub 动作运行器环境中。

由于防火墙只将其证书插入到 https 流量中,因此我能够使用 ssh-key 使事情正常进行。我将私钥作为秘密添加,并将 public 密钥添加到存储库的部署密钥中,现在一切都按预期工作。

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