温馨提示×

Ubuntu SSH日志查看与分析

小樊
56
2025-09-14 13:07:43
栏目: 智能运维

查看SSH日志

  • 命令行查看

    • 使用 journalctl(适用于systemd系统):
      sudo journalctl -u sshd(查看SSH服务日志)
      可添加时间参数,如 --since "2025-01-01" 限制时间范围。
    • 查看日志文件:
      sudo cat /var/log/auth.log | grep sshd(过滤SSH相关日志)
      实时监控:sudo tail -f /var/log/auth.log | grep sshd
  • 图形化工具

    • 使用 lessmore 分页查看:sudo less /var/log/auth.log

分析SSH日志

  • 常见日志类型

    • 登录成功Accepted password for user from IP
    • 登录失败Failed password for user from IP(可判断暴力破解)。
    • 权限问题Authentication refused: bad ownership(密钥权限异常)。
    • 连接异常Connection closed by IP(可能因防火墙或服务配置)。
  • 分析命令示例

    • 统计失败登录次数最多的IP:
      sudo grep 'Failed password' /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10
    • 提取特定时间段(如1小时内)的登录记录:
      sudo awk '/sshd.*Accepted/ && $3 ~ /[0-9]{2}:[0-9]{2}/ {if ($3 >= "10:00" && $3 <= "11:00") print $0}' /var/log/auth.log
  • 安全风险识别

    • 短时间内大量失败登录尝试可能为暴力破解,需结合IP封禁(如使用 ufwiptables)。
    • 非授权IP的登录成功记录需核查用户权限及 sshd_config 中的 AllowUsers 配置。
    • 密钥认证失败需检查 ~/.ssh/authorized_keys 文件权限(应为600)及密钥格式。

日志轮转与清理

  • 系统默认通过 logrotate 每周轮转压缩日志(文件名含 .1.gz 等后缀),可通过以下命令查看配置:
    cat /etc/logrotate.d/rsyslog | grep auth.log
  • 手动清理旧日志:
    sudo rm /var/log/auth.log.*.gz(谨慎操作,建议先备份)。

参考来源

0