首先谢谢大家的建议。
我的测试环境:两台ubuntu服务器(简称S1,S2)
服务器版本:22.04.2 LTS
我配置ssh免密码登录的步骤如下:
在 S1 和 S2 上安装 open-ssh 服务器和客户端
检查从 S1 到 S2 的 ssh 密码 => OK
在 S1 上生成密钥对
ssh-keygen -t ed25519
将公钥从 S1 复制到 S2
ssh-copy-id -i 我的ID.pub 用户名@IP_S2
检查 S2 上 ~/.ssh/authorized_keys 中附加的公钥
编辑 S2 上的 /etc/ssh/sshd_config 配置文件
公钥认证 是
ChallengeResponseAuthentication 否
密码验证否
在 S2 上编辑 /etc/ssh/sshd_config.d/50-cloud-init.conf
#PasswordAuthentication 是
重新启动 S2 上的 sshd
sudo systemctl 重启 sshd
从 S1 到 S2 的 ssh => 失败
错误消息:权限被拒绝(公钥)。
注 1:如果我将 PasswordAuthentication 标记为 no,我可以从 S1 ssh 到 S2。但是,仍然需要输入密码。
注2:我已经在/etc/hosts文件上编辑了主机名和IP之间的关系。
我参考了以下帖子,但无法根据它们解决我的情况。参考:从 18.04 升级到 22.04 后,无密码 SSH 不起作用和无法禁用 SSH 上的密码验证
如何修复?
非常感谢。