Article / 文章中心

使用正确的密码无法登录Linux系统的ECS实例

发布时间:2021-01-29 点击数:481

 

问题描述

使用SSH连接Linux系统的ECS实例时,即便输入了正确的密码,也无法正常登录。该问题出现时,使用管理终端或SSH登录客户端时,可能存在一种方式无法正常登录。同时,secure日志中出现类似如下错误信息。

  • sshd[1199]: pam_listfile(sshd:auth): Refused user root for service sshd
  • sshd[1199]: Failed password for root from 192.X.X.1 port 22 ssh2
  • sshd[1204]: Connection closed by 192.X.X.2

 

问题原因

PAM模块(pam_listfile.so)相关访问控制策略导致用户登录失败。

 

解决方案

阿里云提醒您:

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

PAM模块可用于Linux系统的访问控制。要解决此问题,请进行如下配置检查。本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它操作系统版本配置可能有所差异,具体情况请参阅相应操作系统官方文档。

  1. 登录实例,通过cat等命令查看对应的PAM配置文件,配置文件说明如下。
    文件 功能说明
    /etc/pam.d/login 控制台(管理终端)对应配置文件
    /etc/pam.d/sshd SSH登录对应配置文件
    /etc/pam.d/system-auth 系统全局配置文件
    确认存在类似如下配置信息。
    auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
  2. 相关策略可以提高服务器的安全性。请用户基于安全性和易用性权衡后,再确定是否需要修改相关配置,在修改之前建议进行文件备份。相关策略参数说明如下。
    • item:设置访问控制的对象类型,可选值包括tty、user、rhost、ruser、group和shell。
    • sense:在配置文件中找到符合条件项目的控制方式。可选值为allow和deny。allow代表白名单方式,而deny代表黑名单方式。
    • file:用于指定配置文件的全路径名称。
    • onerr:定义了出现错误时的缺省返回值,比如无法打开配置文件的错误。
  3. 使用vi等编辑器,删除策略配置,也可以注释策略配置,如下所示,在策略配置前添加 #
    #auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
  4. 然后重新登录服务器,确认无异常即可。

 

 

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