Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:公钥身份验证失败_Git_Azure Devops - Fatal编程技术网

Git:公钥身份验证失败

Git:公钥身份验证失败,git,azure-devops,Git,Azure Devops,当我想在azure devops(vsts)上使用git时,我不能使用git克隆、拉、推等。我得到错误: 远程: 远程:您的Git命令未成功。 远程:详细信息: 远程:公钥身份验证失败。 远程: 致命:无法从远程存储库读取 但是当我使用下面的命令时,它会工作,所以问题不是关键。 ssh代理sh-c'ssh add~/.ssh/key;git推式回购“ 当我进行git克隆、推送、拉送等操作时,我认为它会通过您的.ssh目录自动检查要使用的密钥。有人知道如何修复此问题吗?通过创建~/.ssh/con

当我想在azure devops(vsts)上使用git时,我不能使用git克隆、拉、推等。我得到错误:

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

但是当我使用下面的命令时,它会工作,所以问题不是关键。
ssh代理sh-c'ssh add~/.ssh/key;git推式回购“


当我进行git克隆、推送、拉送等操作时,我认为它会通过您的.ssh目录自动检查要使用的密钥。有人知道如何修复此问题吗?

通过创建~/.ssh/config修复了此问题,并添加了:

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

确保执行我在~/.ssh/config中添加的chmod 0400~/.ssh/config

Host ssh.dev.azure.com
  IdentityFile ~/.ssh/[you private key file]
Host vs-ssh.visualstudio.com
  IdentityFile ~/.ssh/new_key

我的案子更棘手。VisualStudio.com禁止了我的旧ssh密钥,也没有费心通知我。通过实验,我发现我只需要添加一个新的密钥,然后使用它

在~/.ssh/config中:

Host ssh.dev.azure.com
  IdentityFile ~/.ssh/[you private key file]
Host vs-ssh.visualstudio.com
  IdentityFile ~/.ssh/new_key
成功了。
有趣的是,他们不允许您从
SSH-Keys
页面删除旧的禁用密钥。

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


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

我看到一个类似的线程,表明此错误已修复检查此问题:查看官方文档查看官方文档谢谢!添加一个新的公钥对我很有效。这真是太疯狂了。昨晚我可以从Debian机器连接,早上醒来时突然无法将更改推送到存储库。如果是小额交易,那一定是疯了。