在 CentOS 系统中,SFTP 的日志查看方式取决于 SSH/SFTP 的服务配置 以及你使用的 CentOS 版本(CentOS 6/7/8 或 Stream)。下面按常见情况说明。
SFTP 是基于 SSH 的,所以 SFTP 日志通常写在 SSH 日志 里,而不是单独的文件。
journalctl -u sshd
查看 SFTP 相关:
journalctl -u sshd | grep sftp
实时查看:
journalctl -u sshd -f
/var/log/secure
查看 SFTP 登录和操作:
grep sftp /var/log/secure
实时查看:
tail -f /var/log/secure
默认情况下,SFTP 只记录登录和断开,不记录:
grep sftp /etc/ssh/sshd_config
常见配置:
Subsystem sftp internal-sftp
vim /etc/ssh/sshd_config
示例(按用户或组):
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftpusers
ChrootDirectory /data/sftp
ForceCommand internal-sftp -l INFO -f AUTH
参数说明:
-l INFO:日志级别-f AUTH:写入 auth 日志重启 SSH:
systemctl restart sshd
然后查看:
tail -f /var/log/secure
你会看到类似:
open "/test.txt" flags WRITE
close "/test.txt"
可以配合 rsyslog 把 sftp 日志单独写文件(如 /var/log/sftp.log),需要的话我可以给你完整配置示例。
| 场景 | 命令 |
|---|---|
| 看登录日志 | grep sftp /var/log/secure |
| systemd | journalctl -u sshd |
| 实时 | tail -f /var/log/secure |
| 详细操作 | 改 sshd_config 加 -l INFO |
如果你愿意,可以告诉我:
我可以给你精确配置。