当我们使用SSH登录Linux系统的云服务器时,如果是root用户,就算输入了正确的密码,也会出现类似如下的错误信息。注:非root用户可以正常登录,而且root用户通过管理终端可以正常登录。
Permission denied, please try again.
SSH服务器拒绝了密码,请再试一次。
这时候我们检查secure日志,如果包含以下错误信息,那么该问题通常是由于系统启用了SELinux服务所致。其他情况请参考禁止root用户登录引起问题的解决方法。
error: Could not get shadow infromation for root.
1.SELinux服务引起"Permission denied, please try again"问题的解决方法
首先检查SELinux服务状态
/usr/sbin/sestatus -v
系统显示类似如下。提示:如果SELinux status参数是enabled即处于开启状态,是disabled即处于关闭状态。
SELinux status: enabled
根据我们当时的需求,可以临时关闭SELinux服务或者永久关闭SELinux服务
临时关闭SELinux服务
setenforce 0
永久关闭SELinux服务,提示:永久性修改SELinux服务状态,需重启系统或实例方可生效。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2.禁止root用户登录引起问题的解决方法
通过cat等命令查看/etc/ssh/sshd_config配置文件中是否包含类似如下的配置。
PermitRootLogin no
注:该参数的说明如下。
未配置该参数(默认情况),或者将该参数值配置为“yes”,都允许root用户登录。只有该参数值设置为“no”时,才会禁止root用户登录。
该参数只会影响root用户的SSH登录,不影响root用户通过管理终端等其它方式登录系统。
使用vi等编辑器,将该参数值设置为“yes”,或者删除该参数,或者注释(在最开头添加“#”号)整行配置。比如:
#PermitRootLogin yes
执行如下命令,重启SSH服务。
service sshd restart
尝试再次使用root用户登录服务器。
版权属于:ServerBlog
本文链接:https://www.serverblog.cn/18.html
转载时须注明出处及本声明