Git SSH公钥身份验证失败git azure devops

dev*_*969 10 git azure-devops

AzureDevops和学习的新手。

我正在尝试将git仓库从powershell推送到azuredevops仓库,并且在尝试将其推送到仓库时不断出现不同的身份验证错误。

我希望有人能阐明我应该检查并做的事情或正确的演练

EG 
 git remote add origin git@ssh.dev.azure.com:v3/MyAzure/MyProject/MyRepo
 git push -u origin --all
Run Code Online (Sandbox Code Playgroud)

我不断

git@ssh.dev.azure.com的密码:(输入了各种密码,但仍然失败)正在谈论哪个密码?

要么

权限被拒绝,请重试。

致命:无法从远程存储库读取。

请确保您具有正确的访问权限,并且存储库存在。

验证

  $ ssh -T myemail@mycompany.com
  ssh: connect to host mycompany.com  port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我有

  • 在azureDevops中创建了一个仓库
  • 根据ms文档,使用git-bash创建了一个ssh密钥,将其复制并粘贴到Azuredevos安全性中时没有空间。
  • 不再使用我的个人资料/安全性,并添加了ssh密钥(在git bash中生成)

我想念明显的东西吗?

使用个人访问令牌会更好吗?演练?

非常感谢

sup*_*san 25

这对我有用

在其中添加配置文件 ~/.ssh/

并添加这些行

Host ssh.dev.azure.com
IdentityFile ~/.ssh/my_ssh_private_key
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)

@wcoder 的这个链接有帮助

  • 这也对我有用,我有一个 github 的 id_ed25519 和配置文件中的一个条目,我认为它被击中为通配符(*),这显然不适用于 azure。 (2认同)

小智 17

在此之前,我已经尝试过其他答案,但没有任何效果。最后,这篇文章为我在 Fedora 中找到了解决方案。

使用 -v 开关 ( ssh -v -T git@ssh.dev.azure.com)运行 ssh显示此错误:

debug1: send_pubkey_test: no mutual signature algorithm
Run Code Online (Sandbox Code Playgroud)

解决方法是将此行添加到客户端配置文件 (~/.ssh/config):

PubkeyAcceptedKeyTypes +rsa-sha2-256,rsa-sha2-512
Run Code Online (Sandbox Code Playgroud)


小智 9

我相信@Schalton的评论是正确的:SSH验证失败,因此它提示通过。

有同样的问题。通过将密钥生成为'id_rsa'而不是使用其他名称(尝试了其他名称,但没有一个起作用)来“解决”。

[####@#### .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/guille/.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
Run Code Online (Sandbox Code Playgroud)


Jac*_*son 9

我意识到这个问题提到了 powershell。但是,使用标题和标签的人可能会在其他操作系统上结束,并且从 mac 和 linux 访问 Azure Devops 存在一个常见问题。

要为 mac 和 linux 修复此问题,请添加 IdentitiesOnly yes~/.ssh/config

这是 Azure Devops 的常见问题。不幸的是,我不确定为什么会修复它。

  • 是的你是对的![DevOps 问答](https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page#qi-have -多个 ssh 密钥--如何使用不同的 ssh 密钥用于不同的 ssh 服务器或存储库) (2认同)

LHM*_*LHM 5

我也有同样的问题。我犯了与@eltbus相同的错误(试图自己给文件命名),所以他坚持默认设置“ id_rsa”的回答对我很有帮助。我还意识到,当我生成rsa密钥对时,我将id_rsa.pub保存到了错误的文件夹中。

事实证明,括号中显示的路径和文件名(例如/home/guille/.ssh/id_rsa)是默认值。如果您只是点击Enter接受默认文件名和位置,而不是输入路径和/或文件名,则可以避免上述两个错误。

例:

[####@#### .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/guille/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
Run Code Online (Sandbox Code Playgroud)


Gen*_*gen 5

我使用的是 GitHub 推荐的 Ed25519 算法密钥,但 Azure DevOps 不支持,因此我生成了一个标准密钥。问题是我忘记添加密钥:

ssh-add -k ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)