我关注了this并在 SSH 权限中添加 key 以及我的圈子配置文件中的指纹。
我也将此添加到我的 ~/.gitconfig
作为我的圈子编译步骤的一部分。
[url "ssh://git@github.com/MYORGANIZATION/"]
insteadOf = https://github.com/MYORGANIZATION/
当我通过 SSH 进入圆形图像时,我可以看到正在使用此命令添加指纹 ssh-add -l -E md5
.但是 ~/.ssh/
中没有添加 key .我希望有 ~/.ssh/id_rsa_<fingerprint>
在那里。
但是,当我尝试取回包裹时,访问仍然被拒绝。
最佳答案
让它工作的最简单方法是按照添加机器用户的说明进行操作:https://circleci.com/docs/2.0/gh-bb-integration/#enable-your-project-to-check-out-additional-private-repositories
有关更复杂的解决方案,请继续阅读。
我最近尝试了同样的事情。 add_ssh_keys
键应该(并且在我的情况下)添加 id_rsa_<fingerprint>
文件。
我遇到的问题是 key 添加了一个包含以下内容的 ssh 配置:
Host !github.com *
我认为问题在于它使用默认的 CircleCI key 向 github 进行身份验证。该 key 有效,因此 github 接受它,但它很可能无法访问您的依赖项中的私有(private)存储库。
为了让它工作,我必须做的是:
# Disable ssh-agent which seemed to override `-i`
export SSH_AUTH_SOCK=none
# Tell get to ssh with the key I want to use
export GIT_SSH_COMMAND="ssh -i /root/.ssh/id_rsa_FINGERPRINT
# Run some command to pull dependencies
go test ./...
关于go - 在 circle ci 中使用 go mod 获取私有(private) repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099579/