【问题标题】:Cannot access gitlab repo using ssh keys using Windows无法使用 Windows 使用 ssh 密钥访问 gitlab 存储库
【发布时间】:2021-06-25 22:27:32
【问题描述】:

我已关注these instructions 使用 ssh-keygen 生成密钥对。当我试图找出问题所在时,我实际上生成了 ed25519 和 rsa 密钥。

我根据他们的说明在 gitlab 中复制并粘贴了这两个密钥的公钥对。

当我输入时:ssh -T git@gitlab.com 它说:

client_global_hostkeys_private_confirm: server gave bad signature for RSA key 0

但它也说Welcome to gitlab, @my_username!

当我尝试推送到我的仓库时,我收到一个弹出窗口,询问我输入的 gitlab 用户名和密码,但失败了。

考虑到我已尝试建立 SSH 密钥对进行身份验证,我不明白为什么它会提示我输入用户名和密码。

感谢任何建议

【问题讨论】:

标签: git ssh gitlab


【解决方案1】:

我收到一个弹出窗口,询问我输入的 gitlab 用户名和密码,但失败了。

检查,如评论:

  • git remote -v
  • git config credential.helper

如果第一个以 https:// 开头,并且第二个不为空,则您看到的是 Git 凭据助手试图缓存您的 HTTPS 凭据。
这意味着无论如何您的 SSH 密钥都会被忽略。

关于错误信息,请查看this thread,并使用以下代码进行测试:

ssh -o UpdateHostKeys=no -Tv git@gitlab.com

为了让它持久化,在~/.ssh/config:

Host gitlab.com
  UpdateHostKeys no

【讨论】:

  • 我在运行 git remote -v 后看到了 https:// 前缀。使用UpdateHostKeys=no 命令进行测试似乎有效。我不确定如何使用 https:// 而不是 ssh 来纠正它的问题,并且它试图通过凭证助手来“帮助”。我希望能够使用我的 ssh 密钥并推送到 repo。感谢您的链接。
  • @unbutu 如果您看到 https:// 并想使用您的 SSH 密钥,您需要切换到 SSH:git remote set-url origin git@github.com:<me>/<myrepo>.git
  • 谢谢。这帮助很大。
  • @VinGarcia 好点。我已经相应地编辑了答案。如果我遗漏了什么,请随时添加您自己的编辑。
  • 谢谢,你写的很完美,我赞成答案=]
猜你喜欢
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多