在 Linux 中,查看登录日志通常依赖 systemd 或传统的 syslog 日志系统。下面按常见场景给你一个完整说明。
last(查看历史登录记录)last
显示内容:
示例:
root pts/0 192.168.1.10 Mon Jun 24 10:00 still logged in
reboot system boot 5.15.0-91 Mon Jun 24 09:55
只查看某个用户:
last username
lastlog(查看所有用户最近一次登录)lastlog
查看指定用户:
lastlog -u username
who(查看当前登录用户)who
更详细:
w
journalctl -u sshd
查看 SSH 登录成功/失败:
journalctl -u sshd | grep -E "Accepted|Failed"
按时间查看:
journalctl --since "2025-01-01" --until "2025-01-20"
/var/log/secure # CentOS / RHEL
/var/log/auth.log # Ubuntu / Debian
查看成功登录:
grep "Accepted" /var/log/secure
查看失败登录:
grep "Failed" /var/log/secure
lastblastb
⚠️ 需要 root 权限
查看失败登录来源:
lastb | awk '{print $3}' | sort | uniq -c | sort -nr
last reboot
last -x
| 系统 | 登录日志 |
|---|---|
| CentOS / RHEL | /var/log/secure |
| Ubuntu / Debian | /var/log/auth.log |
| systemd 系统 | journalctl |
| 登录历史 | /var/log/wtmp |
| 失败登录 | /var/log/btmp |
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
who
如果你愿意,可以告诉我:
我可以给你更精确的命令。