首页/安全/取证与溯源速查/journalctl 查看 sshd 服务日志
Linux 取证135 条

journalctl 查看 sshd 服务日志

当认证日志不可用时,通过 unit 过滤 journald 同样能拿到登录记录;Debian 系 unit 名为 ssh,RHEL 系为 sshd。

取证与溯源速查安全更新于 2026-10-13

journalctl 查看 sshd 日志

当认证日志文件不可用(被轮转清理、系统未安装传统 syslog 或只保留了部分记录)时,可以通过 systemd 单元过滤 journald 拿到同样的登录记录。要注意单元名在发行版之间不同:Debian 系常为 ssh,RHEL 系为 sshd,先用 systemctl list-units 确认再检索,否则容易得到空结果。

基本信息

检索命令journalctl -u ssh,或 journalctl -u sshd
单元名确认systemctl list-units --type=service | grep -i ssh
时间过滤--since 与 --until 支持日期、时间与自然语言表达
输出格式-o short-iso 带时区偏移,-o short-precise 提高时间精度
持久化默认可能只保存在内存,重启后即丢失

典型使用场景

  • 认证日志文件被轮转或清理后仍要回溯登录记录
  • 按时间窗精确检索某次登录前后的相关事件
  • 与认证日志对照,验证两个来源的记录是否一致
  • 排查服务重启或配置重载造成的记录中断
  • 导出证据时保留时区与时间精度信息

查看 sshd 日志

查看 sshd 日志
systemctl list-units --type=service | grep -i ssh       # 先确认单元名
journalctl -u ssh --since '2026-01-01' --until '2026-01-02 00:00' -o short-iso | tail -50
journalctl -u ssh -o short-precise -n 20                # 提高时间精度看最近记录
journalctl --disk-usage                                 # 查看日志占用与保留规模
journalctl -u ssh --since today | grep -E 'Accepted|Failed|Invalid'

常用选项

选项作用注意点
-u 单元名只看指定服务的记录单元名随发行版不同,需先确认
--since 与 --until限定检索时间窗按系统本地时间解释,不含时区标注
-o short-iso输出带偏移的时间跨主机对齐时间线时更安全
-o short-precise提高时间精度用于秒内事件的先后排序
journald 的日志可能只保存在内存(易失性存储)中,重启后即丢失。重要事件的检索与导出要在现场尽快完成,并把导出时间、命令与来源一并记入取证日志。journalctl 还支持按启动实例过滤,用 -b 或 --list-boots 定位重启前后的记录边界;未持久化保存的那一次启动,日志会整体缺失,这个缺口要在时间线上单独标出。
系统同时写入传统认证日志与 journald 时,两边内容一致属于互相印证;出现不一致时先核对时间基准与采集方式,再判断是否存在日志被清理或服务被重启的情况。

易错点

  • 沿用错误的单元名(ssh 与 sshd 混用),检索结果为空却当成无记录
  • 把只有内存存储的日志当作长期留存,重启后无法复核
  • 忽略输出格式的时区差异,跨主机合并时时间整体偏移
  • 只查一个来源,未与认证日志对照,漏掉被清理的迹象

数据来源与参考

  • systemd 官方文档(journalctl -u 过滤)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌