怎样在CentOS上查看SSH登录日志

怎样在CentOS上查看SSH登录日志
最新回答
沒心沒肺的活著

2026-10-23 23:14:53

在CentOS上查看SSH登录日志可通过以下两种主要方法实现,具体操作及说明如下:

方法一:使用 journalctl 命令查看系统日志

适用于使用 systemd 管理服务的CentOS版本(如CentOS 7及以上),SSH服务日志由 systemd-journald 集中管理。

  • 查看所有SSH服务日志运行以下命令显示 sshd.service 的完整日志记录:

    journalctl -u sshd.service

    关键参数说明:

    -u sshd.service:指定服务单元名称(SSH服务)。

    输出内容:包含SSH服务的启动、停止、连接尝试(成功/失败)、配置错误等事件,时间戳精确到微秒。

  • 查看特定启动周期的日志若需分析某次系统启动后的SSH活动,添加 -b 选项(默认当前启动周期):

    journalctl -u sshd.service -b

    扩展用法:

    -b -1:查看上一次启动的日志。

    --no-pager:禁用分页显示,直接输出全部内容。

    -f:实时跟踪新日志(类似 tail -f)。

方法二:直接查看日志文件 /var/log/secure

传统Syslog配置下,SSH登录记录默认写入 /var/log/secure(CentOS 6/7/8常见路径),包含详细认证信息。

  • 查看完整文件内容使用 cat 命令直接输出(适合日志量较小时):

    cat /var/log/secure
  • 分页浏览或搜索关键词

    分页查看:通过 less 逐页浏览,支持上下翻页和搜索:

    less /var/log/secure

    操作提示:按 Enter 逐行,Space 逐页,/ 输入关键词搜索(如 /sshd)。

    关键词过滤:使用 grep 提取包含 sshd 的行(或指定其他关键词如 Failed、Accepted):

    grep 'sshd' /var/log/secure

    扩展用法:

    grep 'Failed password' /var/log/secure:仅显示失败密码尝试。

    grep 'Accepted password' /var/log/secure:仅显示成功登录。

    grep -i 'error' /var/log/secure:忽略大小写搜索错误信息。

异常情况处理:日志文件路径变更

若 /var/log/secure 不存在,可能因日志配置调整导致路径变化,需检查配置文件:

  1. 检查主配置文件查看 /etc/rsyslog.conf 中是否重新定义了SSH日志路径:

    cat /etc/rsyslog.conf | grep 'sshd'
  2. 检查子配置文件部分系统将配置拆分至 /etc/rsyslog.d/ 目录,检查其中文件(如 50-default.conf):

    cat /etc/rsyslog.d/50-default.conf | grep 'sshd'
  3. 常见替代路径

    /var/log/auth.log:部分CentOS版本或自定义配置可能使用此路径。

    /var/log/messages:通用系统日志,可能包含SSH记录(需用 grep 过滤)。

总结与建议
  • 推荐方法:优先使用 journalctl -u sshd.service,尤其适合实时监控和精确时间范围查询。
  • 兼容性提示:若系统未使用 systemd(如CentOS 6),需依赖 /var/log/secure 文件。
  • 安全审计:定期分析日志中的 Failed password 记录,及时发现暴力破解尝试。
  • 日志轮转:长期监控需配置 logrotate 避免日志文件过大(默认已配置在 /etc/logrotate.d/sshd)。

通过上述方法,可全面掌握CentOS系统中SSH服务的登录活动,为安全运维提供数据支持。