SSH在CentOS上的日志查看方法
CentOS系统中,SSH日志的默认存储路径为**/var/log/secure**(部分旧版本或配置不同的系统可能使用/var/log/auth.log,但主流版本均采用/var/log/secure)。该文件记录了SSH连接的详细信息,包括登录尝试(成功/失败)、连接时间、IP地址、用户名等关键数据。
查看完整日志文件
使用cat命令查看完整日志内容(需root权限):
sudo cat /var/log/secure
查看日志末尾内容
使用tail命令查看日志文件的最后几行(默认10行),适用于快速检查最新SSH活动:
sudo tail /var/log/secure
若需查看指定行数(如最后50行),可添加-n参数:
sudo tail -n 50 /var/log/secure
实时监控日志更新
使用tail -f命令实时显示日志文件的新增内容(按Ctrl+C停止),适合跟踪当前的SSH连接状态:
sudo tail -f /var/log/secure
筛选失败登录尝试
通过grep命令过滤出“Failed password”关键字,快速定位暴力破解尝试:
sudo grep "Failed password" /var/log/secure
筛选成功登录记录
过滤“Accepted password”关键字,查看合法登录的用户信息:
sudo grep "Accepted password" /var/log/secure
按IP或用户名过滤
结合grep命令的参数,筛选特定IP地址或用户名的SSH活动:
sudo grep "192.168.1.100" /var/log/secure
sudo grep "root" /var/log/secure
统计失败登录次数(按IP排序)
使用awk、sort、uniq组合命令,统计每个IP地址的失败登录次数并按频率降序排列:
sudo grep "Failed password" /var/log/secure | awk '{print $11}' | cut -d':' -f1 | sort | uniq -c | sort -nr
统计成功登录次数(按用户排序)
统计每个用户的成功登录次数并按频率降序排列:
sudo grep "Accepted password" /var/log/secure | awk '{print $9}' | sort | uniq -c | sort -nr
提取特定时间段日志
使用grep的--since和--until参数,筛选指定时间范围内的SSH日志(如2025年9月1日至9月30日):
sudo grep "sshd" /var/log/secure --since "2025-09-01 00:00:00" --until "2025-09-30 23:59:59"
journalctl查看SSH服务的日志:
sudo journalctl -u sshd
sudo journalctl -u sshd -f
sudo journalctl -u sshd --since "2025-09-01 00:00:00" --until "2025-09-30 23:59:59"
sudo),避免权限不足导致无法访问。less命令分页查看(如sudo less /var/log/secure),按q退出。cp /var/log/secure /path/to/backup/secure.log),防止日志丢失或被篡改。