Linux 用户无法远程连接服务器

发布于:2025-05-24 ⋅ 阅读:(25) ⋅ 点赞:(0)

前言

昨天深夜一点多接到客户电话,客户说OS用户下午下班前还能正常登录。因为晚上一点半需要关闭所有服务进行迁移,但是用户无法登录了,导致后续流程无法执行。我让他先通过root用户紧急修改了密码,先保证业务正常流转。

问题

1、为什么OS用户突然无法登录?

思考方向

1、拥有root账号的用户是否临时更改了原OS密码,没有及时告知相关人员?

2、是否有其它服务器使用该OS账号与当前服务器通信,改密码后是否同步了所有使用该服务器的相关用户密码?

3、是否有OS级别的审计、安全漏扫等工具正在工作,导致非服务器IP被禁止访问?

检查

第二天一大早就跑到公司与客户face to face的沟通,仔细验证流程并询问拥有root账号的用户是否更改过OS密码。均未得到想要的答案,但是他们告诉我网管会定期更新密码并执行安全漏扫。然后找到网管询问是否同步了所有使用该服务器账号的用户新密码,得到了肯定的答复。最后我询问了他们昨晚是否有OS级别的审计或者安全漏扫工作,同样得到了肯定的答复,但网管回应安全漏扫并未成功执行,看了下安全漏扫的配置文件,发现新密码未同步。最后破大案了。

结语

以上的处理思路并不包括所有,只是当下能想到的几个方向。同时可以通过Linux级别查询,不需要浪费太多时间在询问用户的身上。毕竟有时候大家都想着甩锅,所以通过事实说话才是最有力的。所以接下来我将提供如何在Linux上排查此类问题的方式。

linux如何排查用户账号被锁

1、验证账号是否能够登录

-- 远程连接错误
	login as: test
	qa@192.168.211.132's password:
	Access denied  
	qa@192.168.211.132's password:

2、查看账号是否被锁

[root@qaupdb ~]# passwd -S test
oraprod LK 2025-04-28 0 99999 7 -1 (Password locked.)   -- 如果用户后面出现 Password locked. 。有两种可能

-- 用户并没有被设置初始密码
    [root@qaupdb ~]# grep qa /etc/shadow
    qa:!!:20206:0:99999:7:::       -- 此处未显示密文,则代表着当前用户并未设置初始密码。无法实现直接登录,仅通过root用户切换
-- 用户账号被锁
    [root@qaupdb ~]# grep qa /etc/shadow
    qa:!$1$tPwjPzUA$wBqNPzAw5dxll2tm5KtVv1:20206:0:99999:7:::   -- 如果用户账号被锁,在密文前会有一个感叹号。

3、查看用户账号登录失败次数

# 注意:如果 Failures 出现异常次数,考虑是否存在程序登录、或密码暴露被强行破解测试
[root@qaupdb ~]# pam_tally2   --user test
Login           Failures Latest failure     From
test                300

4、查看用户登录信息
注意:此处通过Linux系统的安全日志查看,当前用户被频繁登录的客户端IP是哪

$ tail -n 100 /var/log/secure

Apr 28 16:42:06 qaupdb--【主机名称】 su -- 【通过账号实现切换的信息,具体由哪个账号切换在最后显示】: pam_unix(su-l:session): session closed for user oraprod -- 【执行切换账号的用户 oraprod】
Apr 28 16:43:10 qaupdb useradd[11728]: new user: name=test, UID=501, GID=500, home=/home/test, shell=/bin/bash
Apr 28 16:43:25 qaupdb passwd: pam_unix(passwd:chauthtok): password changed for test
Apr 28 16:44:07 qaupdb usermod[11738]: lock user `test' password
Apr 28 16:44:30 qaupdb sshd -- 【sshd的方式通过远程登录实现】[11745]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.220.170  user=test  -- 【当前用户显示的认证失败的用户】
Apr 28 16:44:32 qaupdb sshd[11745]: Failed password for test from 192.168.220.170  -- 【当前IP显示的是用认证失败账号登录的客户端地址】 port 51620 ssh2
Apr 28 16:45:14 qaupdb usermod[11754]: unlock user `test' password
Apr 28 16:45:17 qaupdb sshd[11745]: Accepted password for test from 192.168.220.170 port 51620 ssh2
Apr 28 16:45:17 qaupdb sshd[11745]: pam_unix(sshd:session): session opened for user test by (uid=0)
Apr 28 16:45:17 qaupdb sshd[11760]: Accepted password for test from 192.168.220.170 port 51635 ssh2
Apr 28 16:45:17 qaupdb sshd[11760]: pam_unix(sshd:session): session opened for user test by (uid=0)
Apr 28 16:45:17 qaupdb sshd[11763]: subsystem request for sftp
Apr 28 16:45:20 qaupdb sshd[11745]: pam_unix(sshd:session): session closed for user test
Apr 28 16:45:21 qaupdb sshd[11760]: pam_unix(sshd:session): session closed for user test

5、清空登录失败次数

$ pam_tally2 -r -u  test

6、解锁用户

$ usermod -U test 

7、登录即可


网站公告

今日签到

点亮在社区的每一天
去签到