因多次登录失败导致的账户锁定,ssh无法登录处理 | 您所在的位置:网站首页 › 推特账户被锁定无法登录账号 › 因多次登录失败导致的账户锁定,ssh无法登录处理 |
一、【问题描述】
因项目中同时用普通用户登录ssh服务器时,密码过期尝试登录次数过多,找到我们运维处理,经过对用户修改密码,并测试账户本地可以正常登录,但测试xshell进行ssh登录失败,检查账户并未处于锁定状态。 二、【问题分析】1、账户未锁定:passwd -s 用户名 usermod -S 用户名 2、xshell用该账户登录,远程主机本地查看ssh服务状态,看到用户不在pam_tally2里,而且用户被拒绝连接; 3、用户被锁定查并确认情况,检查/etc/pam.d/security和/var/log/auth,查看etc/pam.d/下的sshd文件;看是否有pam_tally2.so模块 4、查看ssh登录是否启用PAM模块,查看/etc/ssh/sshd_config,搜索PAM,可知默认PAM是启用状态; 5、验证并查看ssh启用的pam模块; # ldd /usr/sbin/sshd |grep libpam 输出: libpam.so.0 => /lib64/libpam.so.0 (0x00007f30a84ff000)以上结果表明ssh服务启用了pam模块; 6、按照提示找到/etc/pam.d/sshd,内容如下: deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略 指定时,默认永远锁定,须手动解锁。 file 记录日志的路径,默认是/var/log/tallylog lock_time 锁定多长时间,按秒为单位; onerr=fail 表示连续失败 unlock_time 指定认证被锁后,多长时间自动解锁用户; even_deny_root root用户在认证出错时,一样被锁定 root_unlock_time root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。 注意:用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。 三、【问题处理】手动解锁sshd锁定账户,并清除锁定计数器数值,执行以下命令: #pam_tally2 --user root ------------查看指定用户登录失败的次数 #pam_tally2 -u albert -r ------------解锁指定用户并清除计数器失败次数 #pam_tally2 --user root ------------再次查证验证,这时的计算器数值为0,可远程ssh测试,现场ok至此,以上问题解决。 附录: Linux-PAM (Pluggable Authentication Modules for Linux)可插拔认证模块。 Linux-PAM是一套适用于Linux的身份验证共享库系统,它为系统中的应用程序或服务提供动态身份验证模块支持。在Linux中,PAM是可动态配置的,本地系统管理员可以自由选择应用程序如何对用户进行身份验证。PAM应用在许多程序与服务上,比如登录程序(login、su)的PAM身份验证(口令认证、限制登录),passwd强制密码,用户进程实时管理,向用户分配系统资源等。 PAM的主要特征是认证的性质是可动态配置的。PAM的核心部分是库(libpam)和PAM模块的集合,它们是位于文件夹/lib/security/中的动态链接库(.so)文件,以及位于/etc/pam.d/目录中(或者是/etc/pam.conf配置文件)的各个PAM模块配置文件。/etc/pam.d/目录中定义了各种程序和服务的PAM配置文件,其中system-auth文件是PAM模块的重要配置文件,它主要负责用户登录系统的身份认证工作。而/etc/pam.d/目录包含应用程序的PAM配置文件。 每个PAM配置文件都包含一组指令,用于定义模块以及控制标志和参数。每条指令都有一个简单的语法,用于标识模块的目的(接口)和模块的配置设置,语法格式如下: module_interface control_flag module_name module_arguments示例: PAM为认证任务提供四种类型可用的模块接口,它们分别提供不同的认证服务,如下表所示 所有的PAM模块被调用时都会返回成功或者失败的结果,每个PAM模块中由多个对应的控制标志决定结果是否通过或失败。每一个控制标志对应一个处理结果,PAM库将这些通过/失败的结果整合为一个整体的通过/失败结果,然后将结果返回给应用程序。模块可以按特定的顺序堆叠。控制标志是实现用户在对某一个特定的应用程序或服务身份验证的具体实现细节。该控制标志是PAM配置文件中的第二个字段,PAM控制标志如下: 模块帮助说明:man 后跟模块名即可(模块名可以在目录/lib/security/或/lib64/security/中找到)。 附录:开启sshd的syslog日志监控登录情况: 编辑配置文件:/etc/ssh/sshd_config,增加syslog配置 # Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH SyslogFacility AUTHPRIV ##日志定义在authriv.info级别 #LogLevel INFO编辑syslog配置文件/etc/syslog.conf: # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Dont log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure重新启动sshd和syslog即可。 更多SSH登录问题参看。 |
CopyRight 2018-2019 实验室设备网 版权所有 |