【问题标题】:git for windows ssh credentials not working for gitlabgit for windows ssh 凭证不适用于 gitlab
【发布时间】:2021-12-16 06:05:03
【问题描述】:

情况:

现有用户/存储库/git 远程服务器,使用 git for windows 在新电脑上设置环境。

问题:

当我尝试在 git bash 中执行需要访问权限的基本 git 命令时,我收到提示:

git@gitlab.local's password:

根据我的经验,这意味着使用 RSA 密钥的 SSH 连接设置不正确。

我已经采取的步骤:

  1. 我确保在 git config 中正确设置了 user.name 和 user.email 并使用“git config --global --list”验证
  2. 我尝试重新生成 ssh_key 运行并添加到 gitlab。然后将其保存到另一个文件(不是默认的 id_rsa)。然后 使用步骤添加:eval "$(ssh-agent -s)"&ssh-add ~/.ssh/id_rsa_new
    哪个成功了“添加身份:”

手动添加凭据在安全方面存在问题,所以我宁愿不去那里。

我已经多次完成此设置过程,但对导致 SSH 连接无法无缝工作的原因感到困惑。

【问题讨论】:

  • 通常的诊断是运行ssh -Tssh -Tv(添加更多的“v”字母以获得更详细的信息):ssh -T git@github.local 将在不涉及 Git 的情况下测试 ssh 连接。如果这按您想要的方式工作,那么在 Windows 上,通常的问题是 Git 和 Windows 都带有 他们自己的 ssh,并且一个设置正确而另一个设置不正确,所以说服 Git使用正确的 ssh 和/或设置另一个。
  • 如果它没有按您希望的方式工作(例如,如果它在错误的系统上要求密码或密码短语,尽管代理正在运行)您可以在没有 Git 的情况下从那里进行调试。
  • 听起来你可能有多个 OpenSSH / bash / git 安装,正如 torek 提到的那样。你是如何访问 git 的?你是如何运行eval "$(ssh-agent -s)"&ssh-add ~/.ssh/id_rsa_new 你可能想知道:(1)你的 git 二进制文件在哪里(where git)和(2)你正在执行的ssh-agent 在哪里(which ssh-agent)。你也把你的密钥上传到 GitLab 了吗?我推荐following the docs慎重
  • 根据@torek 的建议,我使用ssh -Tv git@gitlab.local 来查看使用ssh 密钥失败的原因。错误是:debug1: send_pubkey_test: no mutual signature algorithm。这在我的情况下通过添加:PubkeyAcceptedKeyTypes +ssh-rsa 到 git 配置文件来解决。

标签: git gitlab openssh


【解决方案1】:

cmets 给出了答案:

根据@torek 的建议,我使用ssh -Tv git@gitlab.local 来查看使用ssh 密钥失败的原因。错误是:debug1: send_pubkey_test: no mutual signature algorithm。在我的情况下,通过在 git 配置文件中添加:PubkeyAcceptedKeyTypes +ssh-rsa 解决了这个问题。

从技术上讲,您将此添加到您的 ssh 配置中,而不是您的 Git 配置中。 (您可以通过 Git 设置相同的绕过技巧,但拼写不同。)

这意味着您的服务器(而不是客户端)在这里有问题:它使用的是弱 SSH RSA 公钥。请参阅https://www.openssh.com/txt/release-8.2 和/或https://confluence.atlassian.com/bitbucketserverkb/ssh-rsa-key-rejected-with-message-no-mutual-signature-algorithm-1026057701.html 了解更多信息。

如果可能,您应该升级服务器系统上的 ssh 服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-07
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2015-05-01
    相关资源
    最近更新 更多