免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
本文介绍SSH登录Linux实例时,系统提示“Maximum amount of failed attempts was reached”错误的处理方法。
多次连续错误输入密码,触发系统PAM认证模块策略限制,导致用户被锁定。
提示:
- PAM(Pluggable Authentication Modules )是由Sun公司提出的一种认证机制。通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。使得系统管理员可以灵活地根据需求,给不同的服务配置不同的认证方式,而无需更改服务程序,同时也便于向系统中添加新的认证手段。
- 如果PAM认证对root用户也做了限制,在root用户被锁定后,Linux实例管理控制台和SSH远程连接都不能正常登录,并且系统提示“Your account is Locked. Maximum amount of failed attempts was reached.”错误,该情况下需要通过Linux实例管理控制台单用户模式登录Linux系统,执行解锁root用户操作,方能正常登录。
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
根据问题原因,有以下两种解决方法,步骤如下。本文相关配置及说明在CentOS 7.6 64位操作系统和CentOS 5 64位操作系统中进行测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。
1 | cat /etc/pam.d/system-auth |
1 | cat /etc/pam.d/login |
1 | cat /etc/pam.d/sshd |
vi
或vim
命令编辑以上对应文件内容,注释、修改或删除以上文件中出现的如下代码。提示:此处以注释为例。
1 | auth required pam_tally2.so deny= 3 unlock_time= 5 #原文代码<br>#auth required pam_tally2.so deny= 3 unlock_time= 5 #注释后<br><br>auth required pam_tally<span class = "hljs-preprocessor" >.so</span> onerr=fail no_magic_root #原文代码<br>#auth required pam_tally.so onerr=fail no_magic_root #注释后<br><br>auth requeired pam_tally2.so deny= 5 lock_time= 30 unlock_time= 10 even_deny_root root_unlock_time= 10 #原文代码<br>#auth requeired pam_tally2.so deny= 5 lock_time= 30 unlock_time= 10 even_deny_root root_unlock_time= 10 #注释后 |
注:
- 此处使用的是
pam_tally2
模块,如果不支持pam_tally2
模块可以使用pam_tally
模块。另外,不同的PAM版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。pam_tally2
与pam_tally
模块都可以用于账户锁定策略控制。两者的区别是前者增加了自动解锁时间的功能。
even_deny_root
指限制root用户。deny
指设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户。unlock_time
指设定普通用户锁定后,多少时间后解锁,单位是秒。root_unlock_time
指设定root用户锁定后,多少时间后解锁,单位是秒。
1 | pam_tally2 -u root #查看root用户登录密码连续输入错误次数。<br>pam_tally2 -u root -r #清除root用户密码连续输入错误次数。<br>authconfig --disableldap --update #更新PAM安全认证记录。 |
更多PAM安全认证相关信息,请参考如下官方文档。
如果您的问题仍未解决,您可以在阿里云社区提交工单联系阿里云技术支持。