问题描述
当使用 SSH 登录 Linux 服务器时,如果是 root 用户,即便正确输入了密码,也会出现类似如下错误信息。
- Permission denied, please try again.
- SSH 服务器拒绝了密码,请再试一次。
但非root用户可以正常登录,而且root用户通过 管理终端 登录也正常。
问题原因
服务端 SSH 服务配置了禁止 root 用户登录策略。
解决办法
说明:相关策略可以提高服务器的安全性。请基于安全性和易用性权衡后,再确定是否需要修改相关配置。
要解决此问题,请进行如下配置检查和修改:
- 通过 管理终端 进入系统。
- 通过 cat 等指令查看 /etc/ssh/sshd_config 中是否包含类似如下配置: #有些系统是在
PermitRootLogin no
参数说明:
该参数只会影响用户的 SSH 登录,不影响用户通过 管理终端 等其它方式登录系统。
未配置该参数,或者将参数值配置为 yes (默认情况),都允许 root 用户登录。只有显示的设置为 no 时,才会阻断root 用户登录。
- 如果需要修改相关策略配置,在继续之前建议进行文件备份。
- 使用 vi 等编辑器,将参数值设置为 yes,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:
# PermitRootLogin yes
- 使用如下指令重启 SSH 服务:
service sshd restart
- 尝试再次使用 root 用户登录服务器。