在 CentOS 中开启 SSH 登录日志,一般涉及 SSH 服务自身日志级别 和 系统日志服务(rsyslog / journald) 两部分。下面分情况说明。
CentOS 默认 SSH 日志是开启的,通常记录在:
/var/log/secure/var/log/secure(rsyslog)journalctl查看 SSH 日志示例:
# 查看 secure 日志
tail -f /var/log/secure
# 或用 journalctl
journalctl -u sshd -f
如果没有日志,再按下面步骤开启。
vi /etc/ssh/sshd_config
确保以下参数存在并合理:
LogLevel INFO
推荐调试级别(按需):
INFO:默认,记录登录/登出VERBOSE:记录更多认证信息(推荐)DEBUG:仅排障使用(不要长期开)示例:
LogLevel VERBOSE
# CentOS 7/8
systemctl restart sshd
# CentOS 6
service sshd restart
确认 rsyslog 在运行:
systemctl status rsyslog
若未启动:
systemctl enable --now rsyslog
查看:
grep auth /etc/rsyslog.conf
一般应有:
authpriv.* /var/log/secure
# 实时查看
journalctl -u sshd -f
# 查看某天
journalctl -u sshd --since "2026-01-21"
LogLevel VERBOSE
可看到:
yum install fail2ban
systemctl enable --now fail2ban
| 问题 | 解决 |
|---|---|
无 /var/log/secure |
启动 rsyslog |
| 无 SSH 日志 | 检查 LogLevel |
| 日志不更新 | systemctl restart sshd |
| 用 Docker | 需映射或看 journalctl |
如果你用的是 CentOS 几(6/7/8/Stream)、物理机还是容器,我可以给你更精确的命令。