CentOS SFTP配置日志的常见查看位置及方法
SFTP作为SSH服务的子功能,其日志通常与SSH日志合并记录,常见位置如下:
syslog系统)中,SSH/SFTP日志默认存储于此,包含连接认证、文件传输等关键信息。rsyslog且配置分离的场景)或Debian系衍生版本中,SSH/SFTP日志可能单独记录在此文件。若系统使用systemd管理SSH服务(CentOS 7及以上均采用),可通过journalctl直接过滤SFTP相关日志,无需依赖特定日志文件:
sudo journalctl -u sshd.service(-u指定服务单元)。sudo journalctl -u sshd.service -f(-f实现类似tail -f的实时效果)。sudo journalctl -u sshd.service --since "2025-09-01" --until "2025-09-22"(查看指定时间段内的日志)。若日志文件中包含大量无关信息,可通过grep命令提取SFTP相关条目:
/var/log/secure或/var/log/auth.log中的SFTP日志:sudo grep -i "sftp" /var/log/secure(-i忽略大小写,"sftp"为关键词)。sudo journalctl -u sshd.service | grep -i "sftp"(先获取SSH日志,再过滤SFTP内容)。若默认日志不够详细或需分离存储,可修改SSH及rsyslog配置:
/etc/ssh/sshd_config,将LogLevel设置为VERBOSE(记录更多细节)或配合Subsystem指定日志设施,例如:Subsystem sftp /usr/libexec/openssh/sftp-server -l DEBUG3 -f local5(DEBUG3为最高详细级别,local5为自定义日志设施)。/etc/rsyslog.conf,添加以下内容将local5设施的日志重定向到/var/log/sftp.log:auth,authpriv.*,local5.* /var/log/sftp.log。sudo systemctl restart sshd(重启SSH服务)和sudo systemctl restart rsyslog(重启日志服务)。tail -f /var/log/sftp.log实时查看SFTP专用日志。