✅ 根本原因openEuler 默认禁止root账号SSH远程密码登录重点区分虚拟机本地终端VM里面黑框su root 可以登录这是本地控制台登录不受sshd限制。Xshell远程SSH登录root由/etc/ssh/sshd_config控制openEuler默认加固PermitRootLogin no就算密码完全正确远程SSH也直接报密码错误。1、修改sshd配置VM虚拟机内操作root身份vim /etc/ssh/sshd_config找到这两行删掉前面#注释修改为PermitRootLogin yes PasswordAuthentication yes注意很多人只改PasswordAuthentication忘记PermitRootLogin照样root远程登录失败保存退出重启sshd服务systemctl restart sshd2、检查这两个参数是否生效grep -E PermitRootLogin|PasswordAuthentication /etc/ssh/sshd_config输出必须是PermitRootLogin yes PasswordAuthentication yes3、其他可能的坑你挨个核对坑1PAM账号锁定连续输错密码锁定rootopenEuler默认输错3次密码锁定一段时间。 查看登录失败日志tail /var/log/secure如果看到pam_faillock锁定等几分钟自动解锁或者手动解锁。坑2Xshell侧问题确认Xshell连接的IP、端口22没错Xshell输入密码时不要带空格区分大小写你之前遇到的openEuler新版ssh算法严格Xshell8需要调整加密算法你之前搞定过这个坑3SELinux概率低临时关闭测试setenforce 04、推荐测试方法验证ssh本身在openEuler虚拟机本地终端自己ssh连自己ssh root127.0.0.1如果这里输入密码成功sshd配置没问题问题在Xshell/Windows网络/算法如果这里本地ssh自己都报密码错误就是sshd配置/PAM锁定问题5、生产环境建议了解生产环境不推荐直接root远程ssh登录规范做法普通用户ssh登录登录后su - root或者sudo提权。一句话背诵考点openEuler本地终端su root可以登录但是SSH远程root连不上90%是sshd_config里PermitRootLogin默认no禁止root远程登录改yes开启密码认证重启sshd即可。你现在直接在虚拟机里执行grep那条命令把结果发给我我帮你看配置。
阅读完成 · 觉得有帮助?