/var/log/auth.log(debian/ubuntu)或/var/log/secure(rhel/centos)是linux系统记录身份验证事件的核心日志,涵盖登录尝试(成功/失败)、ssh活动、sudo操作及pam行为;新手应聚焦失败密码、无效用户、连接关闭等关键模式,结合时间、ip、用户、频率四维度快速筛查异常。

新手解读 Linux 的 /var/log/auth.log(或 RHEL/CentOS 系统的 /var/log/secure)并不需要一开始就看懂每一行,关键是抓住几类典型模式,再结合时间、IP、用户、频率四个维度交叉判断。下面用最直接的方式讲清楚怎么看、怎么筛、怎么怀疑。
先确认日志在哪,再确保能读
不同系统路径不同,别查错文件:
- Ubuntu/Debian/Pop!_OS → 查
/var/log/auth.log - RHEL/CentOS/Fedora → 查
/var/log/secure - 运行
cat /etc/os-release | grep NAME快速确认发行版 - 执行
sudo ls -l /var/log/auth.log /var/log/secure 2>/dev/null看哪个文件存在且非空
盯住三类关键日志行,一眼识别可疑信号
不用通读,先过滤出最有价值的几类条目:
-
失败登录尝试:含
Failed password、Invalid user、Connection closed、Permission denied(尤其带publickey的也要留意,说明攻击者在试密钥) -
成功登录记录:含
Accepted password或Accepted publickey,重点看用户名是否异常(如admin、test、root)、IP 是否陌生、时间是否在凌晨或非工作时段 -
SSH 连接建立与断开:含
sshd.*[ID]:开头的行,比如sshd[12345]: Connection closed by authenticating user,频繁断连+重连可能是扫描器试探行为
用简单命令快速筛出异常线索
每条命令都对应一个实际排查目标,新手照着敲就能见效:
- 查最近 20 条失败尝试:
sudo tail -n 20 /var/log/auth.log | grep -i "failed\|invalid\|closed" - 统计高频攻击 IP(只看 IPv4):
sudo grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -5 - 查所有 root 登录(尤其是远程):
sudo grep "root.*pts" /var/log/auth.log | tail -10 - 查非工作时间成功登录(例如 22:00–06:00):
sudo awk '$3+0 >= 22 || $3+0
注意新手容易忽略的细节
很多“看似正常”的日志其实藏着风险,得留个心眼:
- IPv6 地址格式不同,
$11可能不是 IP——遇到[::ffff:192.168.1.100]这类,要用awk -F'[][: ]+' '{print $(NF-2)}'提取真实 IPv4 - 用户名大小写敏感,
grep "admin"会漏掉Admin或ADMIN,加-i更稳妥 - 日志里出现大量
Invalid user xxx+ 同一 IP,基本可判定是暴力扫号;若还夹杂Failed password for root,说明攻击者已开始针对性爆破 - 某 IP 在 5 分钟内失败 30 次,但没一次成功——这比一次就登进去更危险,因为说明它还在找入口











