在 Ubuntu 上开启 SFTP 日志,通常是通过 SSH 服务(sshd) 来配置的,因为 SFTP 是基于 SSH 的。下面按常见场景说明。
编辑 SSH 服务配置:
sudo vim /etc/ssh/sshd_config
确保或添加以下内容:
Subsystem sftp internal-sftp -l INFO -f AUTH
说明:
-l INFO:日志级别(INFO / VERBOSE / DEBUG)-f AUTH:日志分类在 sshd_config 中:
LogLevel INFO
sudo systemctl restart ssh
Ubuntu 通常使用 systemd,日志在:
sudo journalctl -u ssh
或者实时查看:
sudo journalctl -u ssh -f
如果使用 rsyslog:
sudo tail -f /var/log/auth.log
Subsystem sftp internal-sftp -l VERBOSE -f LOCAL6
在 /etc/rsyslog.conf 中添加:
local6.* /var/log/sftp.log
然后:
sudo systemctl restart rsyslog
sudo systemctl restart ssh
SSH 默认 不记录具体文件传输内容,如需详细记录:
Subsystem sftp internal-sftp -l VERBOSE
适合安全合规场景:
sudo apt install auditd
sudo auditctl -w /sftp目录 -p rwxa -k sftp
查看:
sudo ausearch -k sftp
✅ SFTP 无日志?
internal-sftp✅ 日志太多?
INFO 而非 DEBUG如果你能说明:
我可以给你更精确的配置示例。