【问题标题】:Facing authentication failure with ssh when connecting to gitlab连接到 gitlab 时使用 ssh 面临身份验证失败
【发布时间】:2020-08-15 15:38:07
【问题描述】:

当尝试从 gitlab 克隆 git 帐户时,

git clone git@gitlab.com:username/project.git

面临以下错误,

git@gitlab.com:权限被拒绝(公钥)。致命:无法读取 来自远程存储库。

gitlab 使用我的 custom.pub 公钥注册。 Windows 客户端 PC 的私有和公共 ssh 密钥都存储在“C:/Users/username/.ssh”中。

如何解决此故障

【问题讨论】:

  • 其中一个答案确实与此处提出的解决方案相匹配,但问题在语义上有所不同。在那里,用户无法访问“./ssh”位置。在这里,用户不知道自定义命名密钥需要特殊说明才能使 SSH 工作。这里的用户可以完全控制 .ssh 目录,因此修复很容易。我建议这两个问题都存在,它将使社区经历的两个不同用例受益。

标签: git ssh gitlab


【解决方案1】:

此答案适用于 Windows。也应该适用于经过一些修改的 Linux 机器。

由于 ssh 密钥是使用自定义名称“custom.pub”创建的,因此 ssh 无法使用该密钥。默认情况下,它会查找“id_ecdsa”/“id_rsa”命名的密钥文件。以下是修复此类身份验证错误的步骤,

  1. 首先检查 ssh 当前尝试为 gitlab 使用什么密钥:转到 cmd,ssh -v git@gitlab.com
  2. 如果它没有吐出你在 gitlab 注册的密钥,那么你应该告诉 ssh 选择正确的密钥。这可以通过 .ssh/config 文件中的设置来完成
  3. 打开 .ssh/config 文件并进行以下更改,

    主机 *gitlab.com

      IdentityFile <your_custom_key_path>/custom_key
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2012-12-01
    • 2014-05-20
    • 2017-01-03
    • 2015-08-29
    相关资源
    最近更新 更多