git(1) Fedora-33 上的 CLI 在创建 SSH 密钥对并将其添加到 Azure DevOps(或 GitHub)后请求密码 -(以下步骤)

git(1) CLI on Fedora-33 requesting a password after creating a SSH keypair and adding it to Azure DevOps (or GitHub) - (steps below)

Azure DevOps中为GIT设置一个SSH键后,下面的测试命令...

user@fedora33$ ssh -T git@ssh.dev.azure.com

仍然提示我输入密码(如下所示)。

以项目符号的形式,这是我所做的,所以你可以帮助我。 (提前谢谢你)。

  1. cd ${HOME}/.ssh/
  2. user@fedora33$ ssh-keygen -t rsa -b 4096 -f id_rsa.azdevops
  3. vi ./config # And entered in the following snippet:
Host ssh.dev.azure.com
    Hostname ssh.dev.azure.com
    IdentityFile ~/.ssh/id_rsa.azdevops
    IdentitiesOnly yes
    User FirstName.LastName

接下来,我将生成的 SSH 键添加到 Azure DevOps 此处(使用添加向导):

https://dev.azure.com/<OrgName>/_usersSettings/keys

并将 ${HOME}/.ssh/id_rsa.azdevops.pub 的内容粘贴到它的 Public Key Data 框中。

${HOME}/.ssh/ 上和内部的权限已适当收紧:

5242887 4 drwx------  2 user  user  4096 Jan 20 13:04 .ssh
5252250 4 -rw-------  1 user  user  1238 Jan 20 13:04 .ssh/config
5242899 4 -rw-------  1 user  user  3381 Jan 20 13:01 .ssh/id_rsa.azdevops-ssh.ZAAPS
5242910 4 -rw-r--r--  1 user  user   741 Jan 20 13:01 .ssh/id_rsa.azdevops-ssh.ZAAPS.pub

仍然要求输入密码:

user@fedora33$ ssh -T git@ssh.dev.azure.com
git@ssh.dev.azure.com's password:

我以前做过一百万次。为什么现在要求输入密码?

提前致谢!

啊,就在我完成这个循序渐进的问题时,我发现,从 Fedora-33 开始,一个额外的 K/V 对 - PubkeyAcceptedKeyTypes ssh-rsa - 现在是${HOME}/.ssh/config 要求:

PubkeyAcceptedKeyTypes ssh-rsa   <--- Required as of Fedora-33 (Global scope)

Host ssh.dev.azure.com
    Hostname ssh.dev.azure.com
    IdentityFile ~/.ssh/id_rsa.azdevops
    IdentitiesOnly yes
    PubkeyAcceptedKeyTypes ssh-rsa   <--- Required as of Fedora-33 (Host scope)
    User FirstName.LastName

我还应该指出,这不是 Azure DevOps 特定问题。我用 GitHub 复制了相同的内容。所以这完全是一个 Fedora-33 版本相关的问题。

我在这个深奥的问题上浪费了 4 个小时,所以我希望这对其他人有帮助! =:)