关于journalctl -u sshd无法查看SSH断开连接事件的技术咨询
journalctl -u sshd无法查看SSH断开连接事件的解决办法
我之前也碰到过一模一样的问题,一开始还以为是自己的过滤命令写错了,后来查了系统日志的归属才搞明白原因!
问题根源
当你使用journalctl -u sshd时,你只在筛选隶属于sshd系统服务单元的日志,但SSH的断开连接事件并不是由sshd服务记录的——这类事件其实是由systemd-logind服务负责追踪和记录的。而直接运行journalctl不带参数时,会显示全量系统日志,所以能同时看到来自sshd的登录事件和来自logind的登出事件。
解决办法
这里给你几个实用的命令,按需选择:
- 如果你想一次性查看所有SSH登录和登出事件,可以用关键词过滤:
journalctl | grep -E "(Accepted publickey|Disconnected from user)" - 或者更精准地同时调取sshd和systemd-logind的日志:
journalctl -u sshd -u systemd-logind - 要是只想单独查看SSH登出事件,直接过滤logind的日志就行:
journalctl -u systemd-logind | grep "Disconnected from user"
你可以自己验证下,单独运行journalctl -u systemd-logind,里面会记录所有用户会话的启停事件,包括SSH连接的断开操作哦。
备注:内容来源于stack exchange,提问作者Pavel Anni
相关产品推荐
相关产品推荐

