温馨提示×

怎么查询Debian登录日志

小樊
37
2026-08-23 04:24:06
栏目: 智能运维

在 Debian 系统中,登录日志主要由 systemdrsyslog 等组件记录。下面按常见场景给你一个完整查询方法。


一、使用 journalctl(推荐,systemd 系统)

Debian 8 及以后版本默认使用 systemd,登录日志由 systemd-logindsshd 等记录。

1️⃣ 查看所有登录记录

journalctl _COMM=sshd

journalctl -u ssh

2️⃣ 查看成功登录

journalctl -u ssh | grep "Accepted"

3️⃣ 查看失败登录(暴力破解常用)

journalctl -u ssh | grep "Failed"

4️⃣ 按时间查看

journalctl --since "2025-01-01" --until "2025-01-20"

二、使用传统日志文件(/var/log)

1️⃣ 查看登录日志

cat /var/log/auth.log

或实时查看:

tail -f /var/log/auth.log

2️⃣ 成功登录

grep "Accepted" /var/log/auth.log

3️⃣ 失败登录

grep "Failed" /var/log/auth.log

4️⃣ 查看谁登录过系统

grep "session opened" /var/log/auth.log

三、使用 last / lastb(最常用)

1️⃣ 查看成功登录历史

last

只看某个用户:

last root

2️⃣ 查看失败登录(需要 root)

lastb

如果 lastb 提示文件不存在,可能是日志未开启或已轮转。


四、查看当前登录用户

1️⃣ 当前登录用户

who

2️⃣ 更详细信息

w

五、查看登录来源 IP(SSH)

grep "Accepted publickey\|Accepted password" /var/log/auth.log

示例输出:

Jan 20 10:01:22 debian sshd[1234]: Accepted password for root from 192.168.1.100 port 22

六、日志轮转后的历史文件

Debian 默认会轮转日志:

ls /var/log/auth.log*

查看旧日志:

zcat /var/log/auth.log.1.gz

七、常见安全排查命令(推荐)

# 统计失败登录最多的 IP
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head

总结(快速记忆)

目的 命令
当前登录 who / w
登录历史 last
失败登录 lastb / journalctl -u ssh
SSH 登录日志 /var/log/auth.log
systemd 日志 journalctl

如果你是想 排查暴力破解 / 异常登录 / 服务器被入侵,可以告诉我,我可以帮你一步步分析日志。

0