在虚拟机部署 RHEL 9 后相信不少人都遇到过「改完 root 密码SSH 连接却一直提示密码错误」的离谱问题。我在最近的环境搭建中就完整踩了一遍这个坑从命令拼写错误、正则匹配失效到 vi 操作卡壳几乎把所有新手坑都踩了一遍最终用零失误方案彻底解决整理成这篇博客帮大家少走弯路。一、问题现象改完密码SSH 始终拒绝登录环境背景系统RHEL 9VMware 虚拟机操作本地控制台修改 root 密码后用 Xshell 远程 SSH 连接报错SSH服务器拒绝了密码。请再试一次。初步排查的无效操作反复确认密码输入正确排除手误检查 /etc/ssh/sshd_config 配置发现 PasswordAuthentication yes 行首带#注释尝试用 sed 命令删除注释却因各种拼写错误、正则匹配问题反复失败用 vi 编辑配置文件却因不熟悉操作卡在「保存退出」环节进退两难二、问题根源拆解为什么密码改了却登不上核心配置被注释SSH 拒绝密码登录RHEL 9 为了安全默认在 /etc/ssh/sshd_config 中把PasswordAuthentication yes 用#注释了等于配置未生效SSH 服务强制使用密钥登录自然会拒绝密码登录。错误状态带#注释配置失效#PasswordAuthentication yes#PermitRootLogin prohibit-password三、分步排查与解决方案从踩坑到填坑阶段 1验证配置状态确认问题根源首先用 grep 命令查看核心配置确认是否生效bash运行grep -i “PasswordAuthentication|PermitRootLogin” /etc/ssh/sshd_config如果输出如下说明配置被注释是问题根源#PasswordAuthentication yes#PermitRootLogin prohibit-passwordbash输入echo “PasswordAuthentication yes” /etc/ssh/sshd_configecho “PermitRootLogin yes” /etc/ssh/sshd_config重启SSH服务生效四、最终验证SSH 远程连接成功配置完成后用 Xshell 等工具重新连接输入 root 密码成功登录问题彻底解决。五、总结与避坑指南核心知识点RHEL 9 默认注释 PasswordAuthentication yes是密码登录失败的根本原因sed 命令的正则匹配必须精准否则修改无效vi 操作的核心是「先按 Esc 切到命令模式再输入保存命令」新手首选 echo 追加配置绕开所有操作坑零失误生效欢迎大家来交流正在努力学Linux的小白。