在 CentOS 上查看 SFTP 日志,通常取决于你使用的是 OpenSSH 自带的 SFTP(默认) 还是 第三方 SFTP 服务。大多数情况是 OpenSSH SFTP,下面按常见场景说明。
SFTP 是 SSH 的子协议,日志一般写在:
/var/log/secure
查看 SFTP 登录和操作日志:
grep sftp /var/log/secure
或实时查看:
tail -f /var/log/secure | grep sftp
示例日志:
Accepted password for user from 192.168.1.10 port 12345 ssh2
session opened for user user by (uid=0)
Starting session: subsystem 'sftp' for user from 192.168.1.10
可能是日志级别太低,开启详细日志:
vi /etc/ssh/sshd_config
确保或添加:
LogLevel VERBOSE
重启 sshd:
systemctl restart sshd
再试一次 SFTP,然后查看:
grep sftp /var/log/secure
OpenSSH 默认 不会记录具体文件操作(如上传了哪个文件)。
修改 sshd_config:
Subsystem sftp internal-sftp -l INFO -f AUTH
或:
Subsystem sftp internal-sftp -l VERBOSE
重启:
systemctl restart sshd
然后:
grep sftp /var/log/secure
可看到:
open "/home/user/test.txt" flags READ
close "/home/user/test.txt"
在 /etc/rsyslog.conf 或 /etc/rsyslog.d/sftp.conf:
:programname, isequal, "sshd" /var/log/sftp.log
& stop
重启 rsyslog:
systemctl restart rsyslog
适合安全审计:
auditctl -w /home -p rwxa -k sftp
查看:
ausearch -k sftp
如果是 vsftpd:
/var/log/vsftpd.log
或:
/var/log/messages
✅ 只看登录记录
grep sftp /var/log/secure
✅ 看文件操作
Subsystem sftp internal-sftp -l INFO
✅ 安全审计
auditd + ausearch
如果你能告诉我:
我可以给你一套 精确配置方案。