Git:公钥身份验证失败

时间:2018-10-08 06:30:18

标签: git azure-devops

当我想在azure devops(vsts)上使用git时,我不能使用git clone,pull,push等。出现错误:

  

远程:   remote:您的Git命令未成功。   远程:详细信息:   remote:公钥认证失败。   远程:   致命的:无法从远程存储库读取。

但是当我使用下面的命令时,它起作用了,所以问题不是关键。 ssh-agent sh -c 'ssh-add ~/.ssh/key; git push repo'

当我执行git clone,push,pull等时,我认为它会通过您的.ssh目录自动检查要使用的密钥。有人对如何解决这个问题有任何想法吗?

4 个答案:

答案 0 :(得分:2)

通过创建〜/ .ssh / config并添加来修复它:

Host xxx.visualstudio.com
  IdentityFile ~/.ssh/key

确保执行chmod 0400〜/ .ssh / config

答案 1 :(得分:2)

我的案子比较棘手。 VisualStudio.com禁止了我的旧ssh密钥,并没有以任何方式通知我。通过实验,我发现我只需要添加一个新密钥并使用 it 即可。

ssh-keygen -f ~/.ssh/new_key

在〜/ .ssh / config中:

Host vs-ssh.visualstudio.com
  IdentityFile ~/.ssh/new_key

行得通。 有趣的是,他们不允许您从SSH Keys页中删除旧的禁止使用的密钥。

答案 2 :(得分:0)

我添加了〜/ .ssh / config:

Host ssh.dev.azure.com
  IdentityFile ~/.ssh/[you private key file]

答案 3 :(得分:0)

与Yuriy Pozniak的解决方案类似,我只是删除并重新添加了我的公钥,这解决了我的问题。

修改〜/ .ssh / config文件以将azure devops主机明确指向我的私钥对我不起作用。