温馨提示×

怎样排查linux登录日志

小樊
45
2026-09-29 14:13:45
栏目: 智能运维

在 Linux 中,排查登录日志通常用于分析谁登录过系统、是否有人暴力破解、是否有异常登录等。下面按常见场景 + 实操命令来说明。


一、登录日志文件在哪里(最常见)

1️⃣ 传统 syslog 系统(CentOS 6 / 老版本)

/var/log/secure
/var/log/messages

2️⃣ systemd 系统(CentOS 7+ / Ubuntu 16.04+)

登录日志由 systemd 管理,主要看:

/var/log/auth.log        # Ubuntu / Debian
/var/log/secure          # CentOS / RHEL

二、用 journalctl 查看登录记录(推荐)

查看所有登录相关日志

journalctl _COMM=sshd

查看成功登录

journalctl _COMM=sshd | grep "Accepted"

查看失败登录(暴力破解排查)

journalctl _COMM=sshd | grep "Failed"

按时间查看

journalctl --since "2024-01-01 00:00:00" --until "2024-01-02 23:59:59"

三、使用 last / lastb(非常有用)

1️⃣ 查看历史登录记录

last

显示:

  • 用户名
  • 登录 IP
  • 登录时间
  • 退出时间

2️⃣ 查看失败登录尝试

lastb

⚠️ 需要 root 权限

3️⃣ 查看当前登录用户

who
w

四、查看具体用户登录情况

某用户所有登录

last username

某 IP 登录情况

last | grep 192.168.1.100

五、SSH 登录专项排查(最常被攻击)

查看 SSH 登录失败最多的 IP

grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr

查看成功 SSH 登录

grep "Accepted password" /var/log/secure

六、异常登录排查清单 ✅

✅ 是否有不明 IP 登录
✅ 是否有大量 Failed password
✅ 是否有从未见过的用户名
✅ 是否凌晨或非工作时间登录
✅ 是否 root 被远程登录(应禁止)


七、加强安全(建议)

# 禁止 root 登录
vi /etc/ssh/sshd_config
PermitRootLogin no

# 使用密钥登录
PasswordAuthentication no

如果你愿意,可以告诉我:

  • 你用的是 CentOS / Ubuntu / 其他
  • 是排查 被黑 / 暴力破解 / 审计

我可以给你更精确的命令。

0 踩