使用SSH客户端远程连接Linux系统的ECS实例时,提示“Maximum amount of failed attempts was reached”错误怎么办?

本文介绍使用SSH客户端远程连接Linux系统的ECS实例时,提示“Maximum amount of failed attempts was reached”错误的原因和解决方案。

问题描述

使用SSH客户端远程连接Linux系统的ECS实例时,提示“Maximum amount of failed attempts was reached”错误。

问题原因

连续多次输入错误密码,触发系统PAM认证模块策略限制,导致用户被锁定,无法远程连接ECS实例。

说明

Linux系统中和SSH相关的PAM配置文件主要有以下三个,如果PAM认证对远程连接做了限制,例如设置auth required pam_tally2.so deny=3 unlock_time=50,表示普通用户和root用户连续三次输入错误密码,50秒后才能再次远程连接ECS实例。

  • /etc/pam.d/login:VNC对应的PAM配置文件。

  • /etc/pam.d/sshd:SSH服务对应的PAM配置文件。

  • /etc/pam.d/system-auth:系统全局PAM配置文件。

解决方案

您可以根据root用户是否被锁定,选择具体的方案进行修复。

root用户未被锁定

本文以注释系统全局PAM配置文件(/etc/pam.d/system-auth)中PAM限制配置为例进行说明,修改/etc/pam.d/sshd/etc/pam.d/system-auth方法类似。

  1. 使用root用户通过VNC方式连接实例。

    具体操作,请参见通过密码认证登录Linux实例

  2. 执行如下命令,查看PAM配置文件中是否存在PAM认证限制。

    cat /etc/pam.d/system-auth

    例如,系统返回如下时,表示普通用户和root用户连续三次输入错误密码,50秒后才能再次远程连接ECS实例。

    2023-03-30_21-17-03
  3. 修改system-auth配置文件。

    1. 执行如下命令,打开system-auth配置文件。

      vim /etc/pam.d/system-auth
    2. i进入编辑模式。

    3. 根据业务需要,注释、修改或删除该配置。

      本文以注释配置为例进行说明。

      auth required pam_tally2.so deny=3 unlock_time=50            #原文代码:普通用户和root用户连续三次输入错误密码会被锁定,50秒后才能解锁。
      #auth required pam_tally2.so deny=3 unlock_time=50           #注释后                          
      说明
      • 此处使用的是pam_tally2模块,如果不支持pam_tally2模块可以使用pam_tally模块。另外,不同的PAM版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。更多详情,请参见Linux PAM SAG

      • pam_tally2pam_tally模块都可以用于账户锁定策略控制。两者的区别是前者增加了自动解锁时间的功能。

      • even_deny_root指限制root用户。

      • deny指设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户。

      • unlock_time指设定普通用户锁定后,多长时间后解锁,单位是秒。

      • root_unlock_time指设定root用户锁定后,多长时间后解锁,单位是秒。

  4. 远程连接实例,不再出现该错误时,说明该问题已修复。

root用户被锁定

  1. 使用单用户模式远程连接实例。

    具体操作,请参见Linux系统进入单用户模式

  2. 依次执行如下命令,解锁root用户。

    pam_tally2 -u root                          #查看root用户登录密码连续输入错误次数。
    pam_tally2 -u root -r                       #清除root用户密码连续输入错误次数。
    authconfig --disableldap --update           #更新PAM安全认证记录。
  3. 重启实例。

    具体操作,请参见重启实例

  4. 在对应的PAM配置文件中注释、修改或删除相应配置。

    具体操作,请参见方案一:root用户未被锁定时

  5. 远程连接实例,不再出现该错误时,说明该问题已修复。