一、【问题描述】

因项目中同时用普通用户登录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,内容如下:

注意:上图中的auth和account区块内关于pam_tally2的内容,该模块用于在对系统进行一定次数的失败ssh登录尝试后锁定用户,其中其选项解释如下:

  • 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库将这些通过/失败的结果整合为一个整体的通过/失败结果,然后将结果返回给应用程序。模块可以按特定的顺序堆叠。控制标志是实现用户在对某一个特定的应用程序或服务身份验证的具体实现细节。该控制标志是PAM配置文件中的第二个字段,PAM控制标志如下:

模块帮助说明:man 后跟模块名即可(模块名可以在目录/lib/security/或/lib64/security/中找到)。

附录:开启sshd的syslog日志监控登录情况:
编辑配置文件:/etc/ssh/sshd_config,增加syslog配置

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
<strong>SyslogFacility AUTHPRIV</strong>   ##日志定义在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.
<strong>authpriv.* /var/log/secur</strong>e

重新启动sshd和syslog即可。

更多SSH登录问题参看。

因多次登录失败导致的账户锁定,ssh无法登录处理相关推荐

  1. 共享的计算机用户账户限制,win10系统在局域网共享文件提示“登录失败:用户账户限制”的操作技巧...

    win10系统使用久了,好多网友反馈说win10系统在局域网共享文件提示"登录失败:用户账户限制"的问题,非常不方便.有什么办法可以永久解决win10系统在局域网共享文件提示&qu ...

  2. 开机登录失败 提示user profile service服务未能登录,无法加载用户配置文件

    开机登录失败 提示"user profile service服务未能登录,无法加载用户配置文件" 问题解决办法 [问题描述] Windows系统开机后,在用户登录界面输入密码无法正 ...

  3. vmware vcenter orchestrator configuration提示“用户名密码错误或登录失败超过次数被锁定”...

    首次登录,使用默认用户密码登录vmware/vmware vmware vcenter orchestrator configuration提示"用户名密码错误或登录失败超过次数被锁定&qu ...

  4. java sql 登录失败_JDBC连接到SQL Server:登录失败,用户X

    我想设置一个JDBC连接到SQL Server 2008,我创建在SQL Server数据库这样的信息:我安装了JDBCJDBC连接到SQL Server:登录失败,用户X CREATE LOGIN ...

  5. linux root登录失败可以锁定,Centos 用户登录失败N次后锁定用户禁止登陆

    针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁 Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁 ...

  6. Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...

    原文出处: http://blog.csdn.net/five3/article/details/8648484 最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令 ...

  7. 添加网络打印机,进入网络共享,弹出“登录失败: 禁用当前账户”的解决办法

    方法1:打开[管理您的凭据] 查看[Windows凭据],如果有,删掉 方法2:[计算机管理]-[本地用户和组]-[用户],选中[Administrator],右键属性,取消[账户已禁用]   方法3 ...

  8. WIN7 、WIN10 系统访问局域网电脑时提示登录失败:禁用当前账户

    1.看到网上整了一些花里胡俏的方法,都没能解决问题,最后找了一个网友的评论终于解决了. 在控制面板那里找到凭证管理器,在Windows凭据那里添加凭据即可(IP.用户名.秘钥都设为共享服务端的). 简 ...

  9. 服务器账号登录失败怎么回事,远程连接云服务器登录失败是什么原因

    远程连接 出现这种情况,一般有两种原因:一是本地安全策略中修改了策略导致:二是普通用户未附加远程登陆权限. 对于本地安全策略问题的解决 1.gpedit.msc命令打开"本地组策略编辑器,在 ...

  10. Linux操作系统用户登录失败次数过多被锁定的解决方法

    用root用户登录,然后用pam_tally命令解锁: pam_tally --user username --reset

最新文章

  1. caffe prototxt分析
  2. 三种方法让信息在局域网中自由散发
  3. 手把手带你玩转 AWS Lambda
  4. html中如何实现放大动画,CSS3实现点击放大的动画实例
  5. 神经网络 | DeepVO:Towards End-to-End Visual Odometry
  6. 复制Hadoop目录至其他节点时的注意点
  7. 只要你想学,分分钟钟用H5教会你玩转魔方
  8. BUUCTF--练习场--Include 1
  9. python之获取微信服务器的ip地址
  10. maven中设置代理服务器
  11. 利用modelarts和物体检测方式识别验证码
  12. 解决:CWnd::SetWindowText报Assertion failure
  13. Hibernate【3】——Service层
  14. linux wqy字体安装,给openSUSE安装文泉驿字体
  15. DA14580与ADXL362应用
  16. spacy 名词性短语_使用spacy nlp进行词法化,词法化,停用词和短语匹配的快速指南...
  17. 最新!7月份火爆Github的热门Python项目
  18. 常见负载均衡服务器介绍
  19. error An unexpected error occurred: “EPERM: operation not permitted, unlink ‘C:\\Users
  20. Android发送接收短信的代码示例

热门文章

  1. HeadFirstJava——7_继承与多态
  2. Visual Studio 2005超级集成版本下载
  3. 网易云音乐推荐中的用户行为序列深度建模
  4. 个人作业——软件工程实践总结作业
  5. 小甲鱼老师目前所有视频教程下载地址(mark下来慢慢看系列)
  6. 《初级会计电算化实用教程(金蝶KIS专业版)》一1.4 会计核算软件
  7. 二维函数Z=g(X,Y)型,用卷积公式求概率密度,积分区域如何确定(上)
  8. 好好编程-物流项目08【整合静态资源文件】
  9. sir模型初始值_经典传染病的SIR模型(基于MATLAB)
  10. 宅霸java_宅霸游戏联机平台下载|宅霸游戏联机平台免费版下载 v4.5.0 官方版_小皮网...