在 CentOS 上查看 SFTP 日志,通常取决于你使用的是哪种 SSH/SFTP 服务(一般是 OpenSSH),以及日志是如何配置的。下面按常见情况说明:
SFTP 是 SSH 的子协议,默认日志由 sshd 产生。
journalctl -u sshd
或实时查看:
journalctl -u sshd -f
/var/log/secure
查看 SFTP 相关记录:
grep sftp /var/log/secure
实时查看:
tail -f /var/log/secure
默认情况下,OpenSSH 不会记录 SFTP 文件操作。如果你需要看到“上传了什么文件、下载了什么文件”,需要单独配置。
internal-sftp + 日志级别(推荐)编辑 SSH 配置:
vi /etc/ssh/sshd_config
找到或添加:
Subsystem sftp internal-sftp -l INFO -f AUTH
或者按用户/组限制:
Match Group sftpusers
ChrootDirectory /data/sftp
ForceCommand internal-sftp -l INFO
重启 SSH:
systemctl restart sshd
然后查看:
grep sftp /var/log/secure
你会看到类似:
open "/upload/test.txt" flags WRITE
close "/upload/test.txt"
rsyslog 单独记录 SFTP 日志(进阶)在 /etc/rsyslog.conf 或 /etc/rsyslog.d/sftp.conf 中:
:programname, isequal, "sshd" /var/log/sftp.log
& stop
重启 rsyslog:
systemctl restart rsyslog
| 系统 | 日志位置 |
|---|---|
| CentOS 6 | /var/log/secure |
| CentOS 7 | /var/log/secure + journalctl |
| CentOS 8 / Stream | journalctl + /var/log/secure |
✅ 未使用 internal-sftp
✅ 未加 -l INFO
✅ 日志级别太低
这是正常现象,需要上面“方法 2”的配置。
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。