无法使用公钥通过 ssh 连接到 Ubuntu Server 20.04.4 LTS 根用户

无法使用公钥通过 ssh 连接到 Ubuntu Server 20.04.4 LTS 根用户

这是一个长期存在的问题,我刚刚忽略了它。我有一个个人 Ubuntu 服务器,上面有几个不同的帐户。所有其他帐户都可以使用无密码 ssh 登录。但是,当尝试使用公钥 ssh 到 root 时(使用 ssh-copy-id 之后),它会要求密码验证。

现在这是一个问题,因为我正在处理将部署到该服务器的 CI/CD 管道,而且我宁愿不必输入我的密码。

我以为这是我的 ssh 密钥类型,所以我也创建了一个基本 RSA 测试密钥。看起来我的~/.ssh/id_ed25519和我的都./testssh被使用了,但都没有成功。

的输出ssh -v root@myserver在这里:ssh 终端的编辑屏幕截图

我尝试过rm ~/.ssh/authorized_keys并重做ssh-copy-id了两个 ssh 密钥,但无济于事。重申一下:我能够通过公钥与该机器的任何其他非 root 用户进行 ssh 连接。我完全不知道这里的问题是什么,任何帮助都将不胜感激!谢谢!

答案1

问题似乎出在 root 用户本身的 ssh 密钥上。我能够通过运行rm -rdf ~/.ssh然后通过生成新的 ssh 密钥来解决这个问题ssh-keygen -t ed25519 -b 4096。这恢复了所有被搞乱的文件权限。然后我ssh-copy-id在客户端计算机上运行并尝试ssh访问服务器。这次没有提示我输入密码,并且能够再次成功使用公钥身份验证。

相关内容