一、故障现象

接业务侧同事邮件,一台现网主机使用正确的用户名密码 ssh 登录不上(之前正常),使用其他用户 “ su - 该用户 ” 输入密码可以正常切换进去。而且使用该用户进行 ftp 登录也正常。

主机系统:SUSE Linux Enterprise Server 10 (x86_64) sp1 ----系统有点老旧了

问题用户:prestat ------其他用户正常

二、排查

1、chage指令查看

首先使用prestat 用户及密码进行ssh 登录尝试,发现问题同业务侧同事描述一致。改用root 直接进入登录,先使用chage命令查看用户是否因密码过期被锁(这步实际上可以忽略,因为ftp登录及su切换过来正常,不过稳妥起见,还是先看下)

www.361way.com:~ # chage -l prestat

Minimum: 0

Maximum: 99999

Warning: 7

Inactive: -1

Last Change: Mar 12, 2015

Password Expires: Never

Password Inactive: Never

Account Expires: Never

同时又用chage命令查看了一个正常用户,发现显示的一致。

注:接下来还可以查看下/etc/shadow 文件,查看用户是否真正的被锁定,不过这里按排障思路先不直入正题。因为按下面的步骤可以直接定位根因。

2、message日志查看

使用root登录后,切换到/var/log目录 ,开启一个终端通过tail -f message 查看日志变化,使用SCRT 再次使用prestat 用户登录,查看登录时日志的变化。通过该方法查看到了日志有报错如下:

www.361way.com:/var/log # tail -20000 messages |grep deny

Apr 9 16:54:37 www.361way.com sshd[11911]: pam_tally(sshd:auth): user prestat (310) tally 39, deny 6

Apr 9 17:01:11 www.361way.com sshd[25582]: pam_tally(sshd:auth): user prestat (310) tally 40, deny 6

从上面可以看到,用户登录时触发了pam.d下的sshd登录认证相关模块pam_tally ,具体原因是其超出了最大6次输入错误密码的限制 。

3、pam文件查看

查看sshd服务的pam配置文件,在其11行发现有pam_tally的策略配置,如下:

www.361way.com:/var/log # cat /etc/pam.d/sshd

#%PAM-1.0

auth include common-auth

auth required pam_nologin.so

account include common-account

password include common-password

session include common-session

# Enable the following line to get resmgr support for

# ssh sessions (see /usr/share/doc/packages/resmgr/README)

#session optional pam_resmgr.so fake_ttyname

auth required pam_tally.so deny=6

account required pam_tally.so

上面11行的配置有点霸道,超过6次错误密码,就直接永远锁定了,除非手工解除 ---- 安全组同事的配置,不好非议

。其实可以让其自动过一段时间解除限制的,网上经常看到配法如下:auth required pam_tally.so deny=3 unlock_time=300

上面的配置表示,超过3次失败,锁定300秒 ,时间到了以后,自动解除限制。

三、问题解决

既然找到了原因,此时通过查看/etc/shadow文件,会发现以: 分隔的第二例加密后的密码串部分前面会有一个叹号! ,即表示用户被锁定,既然找到了原因,可以通过下面的方法解锁:www.361way.com:/var/log # pam_tally --reset --user prestat //prestat为用户名

User prestat (310) had 40

faillog -r

注:由于该主机使用的系统版本有些老,使用还是pam_tally模块,实际上后面一些新的系统里很多开始使用pam_tally2模块,具体解锁reset次数也可以简化下:pam_tally2 -r -u 用户名

其他拓展:

查看某一用户错误登陆次数:

pam_tally --user

例如,查看work用户的错误登陆次数:

pam_tally --user work

清空某一用户错误登陆次数:

pam_tally --user --reset

例如,清空 work 用户的错误登陆次数,

pam_tally --user work --reset

该模块的更多用法和信息也可以通过man pam_tally 或 man pam_tally2 进行查看。

Linux账户设置能su不能ssh,ssh无法登录可以su切换的问题相关推荐

  1. Git配置SSH 免密登录

    前言:相信大家现在在工作中,都在使用Git吧.众所周知,Git有两种克隆代码的方式: 一种是http,另外一种就是SSH. SSH免密登录,免去了每次登录都输入账号密码的繁琐,但是却需要配置在电脑上. ...

  2. linux安全设置:限制su、sudo切换root用户权限设置,su\sudo使用,SSH远程连接密钥登录

    目录 限制su命令切换到root用户 限制非root用户修改密码 su.sudo.sudo su 服务器安全 限制su命令切换到root用户 限制su命令切换到root用户 不希望所有用户都可以通过s ...

  3. 近日学习笔记:df -h和du -sh命令,查看linux版本,vbm管理工具,su命令,ssh服务升级技巧,source命令

    文章目录 df -h和du -sh区别 df -h查看整个系统中文件系统的使用情况 du -sh *查看当前目录下各个文件及目录占用空间大小 查看Linux系统版本的命令: VirtualBox管理工 ...

  4. 关于设置不同linux主机之间ssh免密登录简易方法

    2019独角兽企业重金招聘Python工程师标准>>> 在linux日常中,经常会有ssh链接其他主机服务器的action,也学习过大家日常用配置ssh免密登录的方法. 小编今天在这 ...

  5. Linux服务器设置ssh私钥登录

    服务器居然被黑客通过暴力ssh破解并进行挖矿,本篇文章将讲述如何创建用户私钥,并关闭ssh密码登录 文章目录 1. 创建新用户并创建私钥 2. 对已存在的用户创建私钥 3. 关闭ssh密码登录功能 1 ...

  6. 【Linux】11.将ubuntu电脑设置为一台可远程ssh或sftp访问的服务器

    将ubuntu电脑设置为一台可远程ssh或sftp访问的服务器 1.将ubuntu电脑设置为一台可远程ssh访问的服务器 参考 原文链接:https://blog.csdn.net/papaaa/ar ...

  7. Linux设置ssh免密码登录

    一.SSH来源 对于需要远程管理其它机器,一般使用远程桌面或者telnet.linux一般只能是telnet.但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问. 为解决这个问题,推出 ...

  8. 在linux下设置SSH空闲超时退出时间

    一,原因 1,降低未授权用户访问其他用户ssh会话的风险 2,防止多用户同时登录对文件修改编辑 二,如何做? 1,编辑/etc/ssh/sshd_config 2,将ClientAliveInterv ...

  9. Linux设置ssh免密登录

    目录 1.在/root目录下输入命令 2.进入.ssh目录 3.将公钥id_rsa.pub写入到一个认证文件夹中 4.开启远程免密登录配置 5.免密远程登录本机 1.在/root目录下输入命令 [ro ...

最新文章

  1. centos 7.0 64位 openssl 升级到1.1.0c
  2. PowerDesiger 15逆向生成工程E-R图及导出word表格
  3. noip2016 小结(ac两题+学习总结)
  4. deepin深度启动盘制作工具下载地址
  5. SlimYOLOv3:更窄、更快、更好的无人机目标检测算法
  6. ROS Rviz 显示轨迹 Python
  7. Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案
  8. 【爬虫剑谱】一卷1章 软件篇-Mongodb的安装及配置
  9. 零磁道损坏如何修复?【硬盘故障软修理技巧】
  10. 在Ubuntu 18.04上安装Nginx
  11. 性能测试--jmeter中的察看结果树【7】
  12. DataRow[] /数组转换datatable!
  13. Atitit 面试技术点最小化问题法总结 目录 1. Web 前端 1 1.1. Jq 常用操作哪些?? 1 1.2. 查询后如何绑定后端数据到表格 2 1.3. 提交后怎么接受表单数据 2 2.
  14. 我擦 以后在也不乱去听别人讲座了。。
  15. 设计一个巴特沃斯低通滤波器
  16. C++改Java——个人银行账户管理
  17. android银行卡输入密码,android 仿微信添加银行卡时输入支付密码
  18. 【区块链论文整理】SIGMOD 篇 (二)
  19. 抖音怎么上传无损画质_抖音高清视频怎么上传的,抖音怎么上传无损画质
  20. Spring 5.X+CXF 3.X 开发SOAP Web Service服务端实例

热门文章

  1. 网盘加速器PanDownload+网盘倍速播放
  2. 8.2 “三十岁挨踢”的魔咒——《逆袭大学》连载
  3. java 纳秒 格式化_Java日期时间API系列35-----Jdk8中java.time包中的新的日期时间API类应用,微秒和纳秒等更精确的时间格式化和解析。...
  4. 北海屠龙记------十二
  5. vimium 成神之路-键盘党的胜利
  6. 【NOIP2017】跳房子
  7. 游戏编程学Python(8)— 扫雷(文字版)
  8. 为什么Tesla显卡那么贵
  9. php 查找 中文,PHP查找中文字符的解决方案
  10. Kafka 官方文档1(中文)