首页/系统/Linux 运维命令速查/统计 SSH 失败登录来源与联动封禁

统计 SSH 失败登录来源与联动封禁

爆破排查:从 auth 日志统计失败 IP 与用户名 TopN,判断攻击面并联动 fail2ban/firewalld 封禁;先统计后处置。

Linux 运维命令速查系统更新于 2026-10-12
用途分析失败登录与处置
来源auth.log / secure / journal
联动fail2ban / firewall-cmd --add-rich-rule

统计 TopN

统计 TopN
# 失败来源 IP Top10
sudo grep 'Failed password' /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head

# 失败用户名 Top10
sudo grep 'Failed password' /var/log/auth.log | awk '{for(i=1;i<=NF;i++) if($i=="for") print $(i+1)}' | sort | uniq -c | sort -rn | head

# journal 版本(RHEL)
sudo journalctl -u sshd --since '24 hours ago' | grep -c 'Failed password'

封禁示例

封禁示例
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=203.0.113.7 reject'
sudo firewall-cmd --reload
# 或交给 fail2ban 自动:sudo fail2ban-client status sshd
统计口径以实际日志格式为准(是否 -3 偏移取 IP 要现场核对);正则不稳就先 grep 样本确认。

易错点

  • 直接按 IP 全封前先排除办公出口 IP,避免把自己封在门外
  • 只清日志不封禁等于放任:处置要包含来源封禁与密钥/密码策略加固

数据来源与参考

  • OpenSSH 日志格式
  • fail2ban 官方文档
  • firewalld 官方文档(rich rule)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌