【问题标题】:Git Error with Go Build and Other Go CommandsGo Build 和其他 Go 命令的 Git 错误
【发布时间】:2022-10-15 05:54:45
【问题描述】:

尝试在 Go 中构建时,我收到以下 Git 错误:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 
fatal: Could not read from remote repository.

这是什么原因?

我能够使用 HTTP 和 SSH 成功克隆同一个存储库,并为其分配了适当的权限,正如 GitLab UI 所确认的那样。

我正在运行 MacOS Monterey。
任何帮助将不胜感激。

【问题讨论】:

  • 这是一个 ssh 错误,而不是 Git 错误:Git 运行 ssh,ssh 失败,然后 Git 停止,因为它需要 ssh 才能成功。您有时可以通过让 Git 使用 https 而不是 ssh 来解决它(请参阅 VonC 的答案),但如果 ssh应该工作,用它(即ssh)四处寻找它的原因不是在职的。
  • 你是对的。这是一个 SSH 问题。当我从 SSH 切换到 HTTPS 时,一切正常。感谢您的反馈意见。

标签: git go permissions repository


【解决方案1】:

在您正在编译的 Go 项目中检查您的 go.mod。

它可能指的是可能是私有的模块,并且您可能无权克隆。
或者,您可以强制对任何依赖项使用 HTTPS 而不是 SSH,as I did here。

OP Foobar 确认 in the comments:

git config --global url."gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.acme.com/".insteadOf git@gitlab.acme.com:

【讨论】:

  • @Foobar 太好了,干得好!你做了什么让它发挥作用?
  • 我使用了您上面提到的以下内容: git config --global url."gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.acme.com/".insteadOf git@gitlab.acme.com:
  • @Foobar 感谢您的反馈。我已将您的评论包含在答案中以提高知名度。
猜你喜欢
  • 1970-01-01
  • 2017-02-10
  • 2013-10-14
  • 2017-02-17
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
  • 2021-05-27
  • 1970-01-01
相关资源
最近更新 更多