在 CentOS 上查看 SFTP 日志,核心要看 sshd 的日志,因为 SFTP 是通过 OpenSSH 提供的。下面按常见场景给你说明。
journalctl -u sshd
查看实时日志:
journalctl -u sshd -f
只看 SFTP 登录相关:
journalctl -u sshd | grep sftp
/var/log/secure
查看 SFTP 日志:
grep sftp /var/log/secure
实时查看:
tail -f /var/log/secure
✅ 这是 CentOS 查看 SFTP 日志最常用的方法
有些系统默认只记录登录,不记录 SFTP 操作细节。
grep -R sftp /etc/ssh/
常见配置:
Subsystem sftp /usr/libexec/openssh/sftp-server
编辑:
vim /etc/ssh/sshd_config
修改或添加:
Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO
或(更详细):
Subsystem sftp /usr/libexec/openssh/sftp-server -l DEBUG
重启 sshd:
systemctl restart sshd
然后再次查看:
tail -f /var/log/secure
who
w
ss | grep ssh
ps -ef | grep sftp
systemctl status rsyslog
没运行就启动:
systemctl start rsyslog
systemctl enable rsyslog
grep LogLevel /etc/ssh/sshd_config
建议:
LogLevel INFO
重启 sshd:
systemctl restart sshd
# 查看 SSH 登录 & SFTP
grep sftp /var/log/secure
# 查看失败登录
grep "Failed password" /var/log/secure
# 查看成功登录
grep "Accepted" /var/log/secure
# 实时查看
tail -f /var/log/secure
✅ 90% 场景下直接用:
tail -f /var/log/secure
✅ 开启详细 SFTP 操作记录:
Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO
如果你愿意,可以告诉我:
我可以给你更精确的配置方案。