文档

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

更新时间:
说明

本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

问题描述

使用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. 然后重新登录服务器,确认无异常即可。

更多信息

  • PAM(Pluggable Authentication Modules)是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。使得系统管理员可以灵活地根据需求,给不同的服务配置不同的认证方式,而无需更改服务程序,同时也便于向系统中添加新的认证手段。

  • 每个启用了PAM模块的应用程序,在/etc/pam.d目录中都有对应的同名配置文件。例如,login命令的配置文件是/etc/pam.d/login,可以在相应配置文件中配置具体的策略。

  • 更多关于pam_listfile的信息,请参见pam_listfile

  • 如果还存在问题,可以参阅通过SSH无法远程登录Linux实例的排查指引,进一步排查分析。

适用于

  • 云服务器ECS

  • 本页导读 (1)
文档反馈