CentOS查看SSH日志怎么操作?登录失败记录在哪找?

在CentOS系统中,SSH(Secure Shell)服务是远程管理服务器的核心组件,其日志记录了所有登录尝试、认证行为和操作轨迹,对于排查安全事件、分析系统异常至关重要,本文将详细介绍CentOS系统中查看SSH日志的多种方法、日志文件位置、常见日志解析技巧及注意事项,帮助管理员高效掌握系统安全状态。

CentOS查看SSH日志怎么操作?登录失败记录在哪找?

SSH日志文件位置及默认配置

CentOS系统中的SSH日志主要分为两种类型:系统级日志和SSH服务专用日志。

  1. 系统级日志(rsyslog管理)
    默认情况下,SSH服务的日志会由rsyslog服务统一管理,记录在/var/log/secure文件中,该文件包含所有与安全相关的日志,如SSH登录成功/失败记录、认证错误、权限变更等,若系统使用systemd日志(CentOS 7及以上版本默认),可通过journalctl命令查看实时日志。

  2. SSH服务配置日志
    SSH服务的配置文件/etc/ssh/sshd_config中,可通过LogLevel参数调整日志详细程度(默认为INFO,可选VERBOSEDEBUG等),修改后需重启SSH服务(systemctl restart sshd)使配置生效,日志文件路径可通过SyslogFacilityLogLevel进一步自定义,但通常推荐使用默认的/var/log/secure以保持日志统一性。

查看SSH日志的常用方法

直接查看日志文件

使用catlesstail等命令直接读取/var/log/secure文件。

  • 查看实时日志流

    tail -f /var/log/secure

    此命令会持续输出日志文件的最新内容,适合监控实时登录行为。

  • 查看最后N行日志

    tail -n 100 /var/log/secure

    查看最近100条日志记录,快速定位最新事件。

  • 分页查看日志

    less /var/log/secure

    支持上下翻页、关键词搜索(通过输入关键词),适合分析大量历史日志。

    CentOS查看SSH日志怎么操作?登录失败记录在哪找?

使用grep过滤关键信息

通过grep命令结合正则表达式过滤特定条件的日志,提高分析效率。

  • 查看登录失败记录

    grep "Failed password" /var/log/secure

    输出所有因密码错误导致的登录失败,包含IP地址、时间戳和用户名。

  • 查看登录成功记录

    grep "Accepted password" /var/log/secure

    记录成功登录的客户端IP、用户名及时间。

  • 查看SSH暴力破解尝试

    grep "Invalid user" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c

    统计所有无效用户登录尝试的IP地址及次数,识别潜在攻击源。

使用journalctl查看systemd日志

CentOS 7及以上版本,SSH日志可能被systemd-journald服务收集,可通过journalctl查询。

  • 查看SSH相关日志

    journalctl -u sshd

    过滤出SSH服务单元的所有日志。

    CentOS查看SSH日志怎么操作?登录失败记录在哪找?

  • 查看实时日志并过滤关键词

    journalctl -f -u sshd | grep "Failed password"

    实时监控SSH登录失败事件。

  • 按时间范围查询

    journalctl --since "2025-10-01 10:00:00" --until "2025-10-01 12:00:00" -u sshd

    查询指定时间段内的SSH日志。

日志分析与安全实践

常见日志关键词解析

  • Accepted publickey:密钥认证成功,记录公钥类型(如ssh-rsa)和用户名。
  • Failed publickey:密钥认证失败,可能因密钥不匹配或权限问题。
  • pam_unix(sshd:auth): authentication failure:PAM模块认证失败,通常与密码错误相关。
  • error: PAM: Authentication failure for:明确指出认证失败的用户名。

安全加固建议

  • 定期审计日志:通过logrotate工具配置日志轮转(默认已配置),避免日志文件过大。
  • 设置登录失败阈值:在/etc/ssh/sshd_config中配置MaxAuthTries(默认6次),限制单次连接的认证尝试次数。
  • 使用fail2ban防暴力破解:结合fail2ban服务,自动封禁频繁失败的IP地址,提升安全性。

注意事项

  1. 日志权限/var/log/secure通常仅允许root用户读取,普通用户需通过sudo或切换至root身份查看。
  2. 日志清理:重要日志需定期归档,避免因磁盘空间不足导致日志丢失,可使用logrotate或手动压缩:
    gzip /var/log/secure.1
  3. 时区同步:确保服务器时区正确(可通过timedatectl设置),避免日志时间戳混乱影响分析。

相关问答FAQs

Q1: 如何在CentOS中查找特定IP地址的SSH登录记录?
A: 可通过以下命令过滤目标IP的日志:

grep "IP_ADDRESS" /var/log/secure

IP_ADDRESS替换为目标IP,或使用awk提取IP字段:

grep "Accepted password" /var/log/secure | awk '{print $(NF-3)}' | grep "IP_ADDRESS"

Q2: SSH日志显示“Connection closed by authenticating user”,可能的原因是什么?
A: 该日志表示用户通过认证后连接被终止,常见原因包括:

  1. 客户端或服务端网络不稳定;
  2. SSH服务配置限制(如MaxSessionsLoginGraceTime参数设置过短);
  3. 客户端主动断开(如手动关闭终端)。
    建议检查网络连接及SSH服务配置,或通过journalctl -u sshd -p err查看详细错误信息。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-11-08 18:39
下一篇 2025-11-08 18:42

相关推荐

  • CentOS 7如何彻底卸载Erlang及残留文件?

    在CentOS 7系统中卸载Erlang可能因为版本不兼容、服务迁移或系统清理等原因需要执行,正确的卸载流程不仅能彻底移除Erlang相关文件,还能避免残留依赖影响系统稳定性,以下是详细的卸载步骤、注意事项及常见问题解决方案,确认Erlang安装方式在卸载Erlang之前,首先需要确定其安装方式,CentOS……

    2025-12-09
    003
  • Linux CentOS无法联网,应该如何快速排查解决?

    在Linux服务器的运维过程中,网络问题是初学者乃至资深管理员都可能遇到的“拦路虎”,尤其对于广泛用于企业环境的CentOS系统,一旦无法联网,将直接影响软件更新、远程访问和服务部署,面对“Linux CentOS无法联网”的困境,切忌盲目操作,应遵循一套系统化的排查逻辑,从物理层到应用层,逐步定位问题根源,基……

    2025-10-13
    006
  • CentOS服务器出现乱码,如何永久修改系统字符编码?

    在管理和维护CentOS服务器时,字符编码的正确配置至关重要,它直接关系到文件名、命令行输出、应用程序日志以及数据库内容的正确显示,尤其是在处理中文字符时,错误的编码设置常常会导致令人头疼的“乱码”问题,本文将系统性地介绍如何在CentOS系统中查看、修改并验证字符编码,确保您的系统能够正确处理多语言信息, 查……

    2025-10-04
    004
  • ftp centos window

    在CentOS系统中配置FTP服务器并与Windows系统进行文件传输,是许多企业和个人用户在跨平台数据交换中的常见需求,FTP(File Transfer Protocol)作为一种经典的文件传输协议,以其简单高效的特点被广泛应用,本文将详细介绍如何在CentOS上搭建FTP服务,并配置Windows客户端进……

    2026-01-01
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信