当我想在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目录自动检查要使用的密钥。有人对如何解决这个问题有任何想法吗?
答案 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主机明确指向我的私钥对我不起作用。