使用root用户通过SSH登录Linux实例时报“Permission denied, please try again”的错误

作者阿里云代理 文章分类 分类:图文教程 阅读次数 已被围观 735

 

概述

使用root用户通过SSH登录Linux实例时,报“Permission denied, please try again”错误。本文主要介绍如何解决该问题。

 

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

当使用SSH登录Linux系统的ECS实例时,如果是root用户,即便输入了正确的密码,也会出现类似如下的错误信息。

注:非root用户可以正常登录,而且root用户通过管理终端可以正常登录。

  • Permission denied, please try again.

  • SSH服务器拒绝了密码,请再试一次。

请检查secure日志,若包含如下错误信息,则该问题通常是由于系统启用了SELinux服务所致。

error: Could not get shadow infromation for root.

 

禁止root用户登录引起问题的解决方法

提示:

  • 本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应发行版的官方文档。
  • 相关策略可以提高服务器的安全性。请用户基于安全性和易用性权衡后,再确定是否需要修改相关配置。

请参考如下步骤,检查配置并修改。

  1. 通过管理终端登录Linux系统的ECS实例。

  1. 通过cat等命令查看/etc/ssh/sshd_config配置文件中是否包含类似如下的配置。

    PermitRootLogin no

    注:该参数的说明如下。

    • 未配置该参数(默认情况),或者将该参数值配置为“yes”,都允许root用户登录。只有该参数值设置为“no”时,才会禁止root用户登录。

    • 该参数只会影响root用户的SSH登录,不影响root用户通过管理终端等其它方式登录系统。

  1. 使用vi等编辑器,将该参数值设置为“yes”,或者删除该参数,或者注释(在最开头添加“#”号)整行配置。比如:# PermitRootLogin yes
    注:在修改之前建议先对配置文件进行备份。
  2. 执行如下命令,重启SSH服务。

    service sshd restart
  3. 尝试再次使用root用户登录服务器。

 

SELinux服务引起问题的解决方法

可以根据现场环境需求,选择临时或永久关闭SELinux服务解决SSH连接异常问题。

 

检查SELinux服务状态

  1. 通过管理终端登录Linux实例,执行如下命令,查看当前SELinux服务状态。
    /usr/sbin/sestatus -v 
    系统显示类似如下。
    SELinux status:       enabled
    提示:如果SELinux status参数是enabled即处于开启状态,是disabled即处于关闭状态。

 

临时关闭SELinux服务

登录Linux实例,执行如下命令,临时关闭SELinux。

提示:临时修改SELinux服务状态,属于实时生效无需重启系统或实例。

setenforce 0

 

永久关闭SELinux服务

登录Linux实例,执行如下命令,永久关闭SELinux服务。

提示:永久性修改SELinux服务状态,需重启系统或实例方可生效。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

提示:此命令只适用当前SELinux服务为enforcing状态时使用。

 

如果您有其他问题,可以联系汉中创云互联阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询欢迎咨询.gif

 

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: