我正在租用一台运行 CentOS Stream 8 的 VPS,我为用户“foo”设置了 SSH 公钥身份验证。我通过 Windows 上的 PuTTY 访问它。
最近我租用了另一台运行 Rocky Linux 9 的 VPS,并以相同的方式设置了 sshd,然后将文件/home/foo/.ssh/authorized_keys
从旧 VPS 复制到新 VPS。这样,我只需克隆 PuTTY 配置文件配置,仅将 IP 地址从旧地址更改为新地址,并重复使用 PuTTY 的 PPK 密钥。
但是,当我通过 PuTTY SSH 连接到新服务器时,出现错误:
Using username "foo".
Authenticating with public key "[email protected]"
Server refused public-key signature despite accepting key!
Using keyboard-interactive authentication.
Password:
我必须输入“foo”用户的密码。但是,我想放弃旧服务器中基于密码的身份验证。
两端的私钥和公钥相同。SELinux 不会干扰这里。~/.ssh
和的权限~/.ssh/authorized_keys
正确。
请注意,通过公钥从新服务器 SSH 连接到其自身可以完美运行。显然,在这种情况下它使用的是id_rsa
,而不是 PuTTY 的 PPK 密钥。
dmesg
并且/var/log/messages
没有显示任何有用的内容。
可能是什么问题呢?
注意:这不是服务器拒绝公钥签名尽管接受密钥-putty的重复,因为没有一个答案适用。