连接 gitlab 时面临 ssh 身份验证失败

Kar*_*k S 1 git ssh gitlab

当尝试使用 gitlab 克隆 git 帐户时,

git克隆 git@gitlab.com:用户名/project.git

面对以下错误,

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

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

如何修复此故障

Kar*_*k S 6

这个答案适用于 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
    
    Run Code Online (Sandbox Code Playgroud)