在 Linux 中查看 SFTP 日志的方法,取决于你使用的是哪种 SSH/SFTP 服务(通常是 OpenSSH),以及系统日志管理方式(rsyslog / journald)。下面按常见场景说明。
SFTP 是 SSH 子系统,日志通常由 sshd 产生。
journalctl -u sshd
只看 SFTP 相关:
journalctl -u sshd | grep sftp
实时查看:
journalctl -u sshd -f
常见日志文件:
/var/log/auth.log # Ubuntu / Debian
/var/log/secure # CentOS / RHEL
查看 SFTP 登录和操作:
grep sftp /var/log/auth.log
# 或
grep sftp /var/log/secure
默认情况下,sshd 只记录登录,不记录“上传/下载文件”的详细操作。
grep sftp /etc/ssh/sshd_config
通常看到:
Subsystem sftp internal-sftp
如果你需要看到 谁上传/下载了什么文件,需要修改 sshd_config。
vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp -l INFO -f AUTH
或针对特定用户组:
Match Group sftpusers
ChrootDirectory /sftp
ForceCommand internal-sftp -l INFO
# CentOS / RHEL
systemctl restart sshd
# Ubuntu / Debian
systemctl restart ssh
日志级别说明:
-l INFO:记录操作-l VERBOSE:更详细(含文件大小等)开启后你可能看到:
Apr 10 14:22:10 server sshd[1234]: open "/upload/test.txt" flags WRITE
Apr 10 14:22:11 server sshd[1234]: close "/upload/test.txt"
如果你用的是:
/var/log/vsftpd.log
/var/log/proftpd/
journalctl -u sshd/var/log/auth.log 或 /var/log/securesshd_config如果你愿意,可以告诉我:
我可以给你一份可直接用的配置。