马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
用 /var/log/secure 排查登录问题:看谁登录了、为什么登不上
服务器被人扫了端口、密码试错频繁、用户说"密码明明是对的却登不上"——这类问题的第一现场都在登录日志 里。Linux 下登录记录通常在 /var/log 下的 auth.log 或 secure 文件,看之前记得提权。
一、怎么看
登录日志 文件路径通常是 /var/log/ 下的 auth.log 或 secure。
1.1 查看登录成功记录
grep 'session opened' /var/log/auth.log
这会列出所有用户成功登录系统的记录。登录成功的记录会显示登录时间、用户名和登录方式(SSH、TTY 等)。
1.2 查看登录失败记录
grep 'Failed password' /var/log/auth.log
列出所有登录失败的记录,包含登录时间、用户名、登录方式和失败原因。
查看登录日志 需要 root 权限,用 sudo 提权即可。另外不同发行版和不同配置下,日志路径和文件名可能不同(有的用 secure,有的用 auth.log,还有的走 systemd journal),上面方法不生效就查一下系统文档。
二、常见的失败信息
1. "Invalid user":用户尝试使用一个不存在的用户名登录
2. "Failed password":密码错误
3. "User not known to the underlying authentication module":不被底层认证模块识别,账户可能被禁用或不存在
4. "Authentication failure":身份验证失败
5. "Permission denied":权限不足被拒绝
6. "Connection closed":连接被关闭,可能因为登录尝试过多或安全策略
这些日志能帮管理员发现潜在的安全威胁和非法访问尝试,定期查一遍 /var/log/secure 就能提前发现问题。一条 Failed password for root from x.x.x.x 刷屏,基本就是有人在爆破 SSH。
三、密码过期 / 账户锁定时的返回值
如果用户密码已过期,用该用户登录时日志里会出现这些关键值:
1. "Password expired":密码已过期,需修改密码才能继续登录
2. "Account expired":账户已过期,需管理员恢复或重新激活
3. "Account locked":账户被锁定,可能因多次登录失败或安全策略,需联系管理员解锁
4. "Password change required":要求首次登录或密码过期后必须改密码
看到这几条,问题就不在密码本身了,属于账号状态问题,对应处理分别是改密、管理员解锁、恢复有效期。
四、实用排查命令
# 看最近的登录失败(Debian/Ubuntu 用 auth.log,CentOS/RHEL 用 secure)
grep 'Failed password' /var/log/secure | tail -50
# 统计失败来源 IP TOP10
grep 'Failed password' /var/log/secure | grep -oP 'from \K[0-9.]+' | sort | uniq -c | sort -rn | head
# 看成功登录
grep 'Accepted password' /var/log/secure
# 实时盯日志
tail -f /var/log/secure
# 只看某个用户
grep 'root' /var/log/secure | tail -30
五、定位与处置
- 谁在扫:失败来源 IP 统计 TOP 榜拿出来,确认是不是同一个 IP 反复尝试。
- 是不是爆破:几分钟内同一用户名(尤其是 root)几十上百次失败,直接判定。
- 处置:封 IP(
iptables -I INPUT -s IP -j DROP 或 firewalld 富规则)、改 SSH 端口、禁用 root 登录(PermitRootLogin no)、上 fail2ban。
- 自己登不上:先看
Password expired / Account locked 这类返回值,再判断是改密还是让管理员解锁。
六、注意事项
- 看日志要 root 权限。
- 日志会滚动(logrotate),被切走的历史在
/var/log/secure-YYYYMMDD 这类压缩文件里,zcat secure-*.gz | grep 'Failed' 也能查。
- 用 SSH key 登录成功时日志里出现的是
Accepted publickey,别一直 grep password 以为没人登。
- 排查完别急着清日志,先留证。
小结
grep 'session opened' 看谁成功登过、grep 'Failed password' 看谁失败了,这是登录排查的两把钥匙。看到 Password expired、Account locked 这类返回值就知道问题在账号状态不在密码。发现批量爆破立刻封 IP + 改 SSH 配置,别等被人登进去。
qidao123.com企服评测-应用市场 编辑提示 |