Bash Git未使用SSH密钥对Azure DevOps进行身份验证
我最近换了一个新安装的Fedora 33 Silverblue,运行一个工具箱。这也发生在工具箱之外。我使用以下命令生成了一个SSH密钥Bash Git未使用SSH密钥对Azure DevOps进行身份验证,bash,git,azure,github,ssh,Bash,Git,Azure,Github,Ssh,我最近换了一个新安装的Fedora 33 Silverblue,运行一个工具箱。这也发生在工具箱之外。我使用以下命令生成了一个SSH密钥 ssh-keygen-trsa-b4096-Cfilbot@fenix 然后我把它上传到我账户下的Azure DevOps上。但是,我无法使用以下~/.ssh/config从Azure DevOps克隆任何内容: ⬢[filbot@toolbox ~]$ cat ~/.ssh/config # SSH Configuration File Host ssh
ssh-keygen-trsa-b4096-Cfilbot@fenix
然后我把它上传到我账户下的Azure DevOps上。但是,我无法使用以下~/.ssh/config
从Azure DevOps克隆任何内容:
⬢[filbot@toolbox ~]$ cat ~/.ssh/config
# SSH Configuration File
Host ssh.dev.azure.com
HostName ssh.dev.azure.com
User git
IdentityFile /var/home/filbot/.ssh/id_rsa
IdentitiesOnly yes
Host vs-ssh.visualstudio.com
HostName vs-ssh.visualstudio.com
User git
IdentityFile /var/home/filbot/.ssh/id_rsa
IdentitiesOnly yes
然后我运行了这些git clone
命令,结果如下:
⬢[filbot@toolbox~]$git克隆git@ssh.dev.azure.com:v3/$ORG/$PROJ/Developer.dudleyp.cs_管道_任务
克隆到“Developer.dudleyp.cs_pipeline_tasks”。。。
git@ssh.dev.azure.com的密码:
⬢[filbot@toolbox~]$GIT\u SSH\u命令=SSH-GIT-clonegit@ssh.dev.azure.com:v3/$ORG/$PROJ/Developer.dudleyp.cs_管道_任务
克隆到“Developer.dudleyp.cs_pipeline_tasks”。。。
git@ssh.dev.azure.com的密码:
⬢[filbot@toolbox~]$ssh-Tgit@ssh.dev.azure.com
警告:已将IP地址“20.37.158.9”的RSA主机密钥永久添加到已知主机列表中。
git@ssh.dev.azure.com的密码:
⬢[filbot@toolbox~]$ssh-i~/.ssh/id\u rsa-Tgit@ssh.dev.azure.com
git@ssh.dev.azure.com的密码:
Git似乎不像以前或在其他较旧的Fedora或Pop安装中那样尊重甚至不在我的主目录中使用ssh配置_操作系统。我不明白它现在为什么要这样做,以及如何获取更多信息来了解这一点。在调试模式下运行ssh,使用-v。它将输出在后台运行的整个进程。在输出中,它将提到它使用的身份验证方法以及原因。这似乎是Fedora 33的事情。我使用了Fedora32工具箱,Git工作正常
➜ ~ 工具箱创建--版本f32
创建工具箱容器所需的图像。
下载registry.fedoraproject.org/f32/fedora工具箱:32(500MB)?[是/否]:是
创建的容器:fedora-toolbox-32
使用以下命令输入:工具箱输入--第32版
➜ ~ 工具箱输入--第32版
⬢[filbot@toolbox~]$git克隆-vgit@ssh.dev.azure.com:v3/$ORG/$PROJ/Developer.dudleyp.cs_管道_任务
克隆到“Developer.dudleyp.cs_pipeline_tasks”。。。
远程:Azure Repos
远程:找到45个要发送的对象。(88毫秒)
接收对象:100%(45/45),77.83kib | 25.94mib/s,完成。
解析增量:100%(14/14),完成。
我遇到了完全相同的问题,并在这里找到了解决方案:
基本上,在~/.ssh/config
文件的每个Host
部分下,添加PubKeyAcceptedKeyTypessh rsa
Host ssh.dev.azure.com
HostName ssh.dev.azure.com
User git
IdentityFile /var/home/filbot/.ssh/id_rsa
IdentitiesOnly yes
PubkeyAcceptedKeyTypes ssh-rsa
它处于调试模式,显示了很多内容。您介意共享输出吗?当我使用git clone-v$url时,它仍然只显示登录名。尝试ssh-vv,这将输出可用的身份验证。仍然没有。我无法粘贴输出,因为它太长并且丢失了格式。它仍然只是下降到提示输入凭据@Matt S.answer成功了。