如何查看Ubuntu SSH连接日志
小樊
45
2025-11-18 14:16:00
查看 Ubuntu SSH 连接日志
一 常用查看方式
- 使用 journalctl 查看 sshd 服务日志(适用于使用 systemd 的 Ubuntu):
- 查看全部:sudo journalctl -u ssh
- 最近 100 行:sudo journalctl -u ssh -n 100
- 按时间过滤:sudo journalctl -u ssh --since “2025-11-18 00:00:00”
- 实时跟踪:sudo journalctl -fu ssh
- 查看传统日志文件 /var/log/auth.log(Debian/Ubuntu 系列):
- 查看全部:sudo cat /var/log/auth.log
- 实时跟踪:sudo tail -f /var/log/auth.log
- 过滤关键词:sudo grep “sshd” /var/log/auth.log
- 说明:较新的 Ubuntu 版本通常使用 journalctl;若系统未使用 systemd,可直接读取 /var/log/auth.log。以上命令需要 sudo 权限。
二 快速定位成功与失败登录
- 失败登录尝试:sudo grep “Failed password” /var/log/auth.log
- 成功登录:sudo grep “Accepted” /var/log/auth.log
- 指定用户:sudo grep “username” /var/log/auth.log
- 结合时间筛选(示例):sudo journalctl -u ssh --since “2025-11-18 09:00:00” | grep “Failed”。
三 辅助命令与工具
- 历史登录会话:last
- 各用户最近一次登录:lastlog
- 当前在线用户与会话:w
- 日志分析工具:Logwatch、Logalyze(便于生成报告与深入分析)。
四 常见问题与排查
- 看不到登录尝试:可能被 防火墙 拦截,需检查防火墙日志;也可能是 /etc/ssh/sshd_config 配置问题,核对端口与认证方式。
- 提升安全性建议:安装 Fail2Ban 自动封禁反复失败来源 IP(sudo apt install fail2ban);必要时更改默认端口(在 /etc/ssh/sshd_config 中设置 Port 2222);优先使用密钥认证并禁用密码(PasswordAuthentication no)。