温馨提示×

centos如何查看sftp日志

小樊
53
2026-09-09 00:29:39
栏目: 智能运维

在 CentOS 上查看 SFTP 日志,通常取决于你使用的是 OpenSSH 自带的 SFTP(默认) 还是 第三方 SFTP 服务。大多数情况是 OpenSSH SFTP,下面按常见场景说明。


一、OpenSSH SFTP(最常见)

1️⃣ SFTP 日志由 sshd 记录

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

2️⃣ 如果 /var/log/secure 没有 SFTP 记录

可能是日志级别太低,开启详细日志:

修改 SSH 配置

vi /etc/ssh/sshd_config

确保或添加:

LogLevel VERBOSE

重启 sshd:

systemctl restart sshd

再试一次 SFTP,然后查看:

grep sftp /var/log/secure

二、记录“文件上传/下载”操作(更详细)

OpenSSH 默认 不会记录具体文件操作(如上传了哪个文件)。

方法 1:使用内部 SFTP + 日志(推荐)

修改 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"

方法 2:使用 rsyslog 单独存 SFTP 日志(生产推荐)

在 /etc/rsyslog.conf 或 /etc/rsyslog.d/sftp.conf:

:programname, isequal, "sshd" /var/log/sftp.log
& stop

重启 rsyslog:

systemctl restart rsyslog

三、使用 auditd 监控 SFTP 文件操作(最强)

适合安全审计:

auditctl -w /home -p rwxa -k sftp

查看:

ausearch -k sftp

四、第三方 SFTP 服务(如 vsftpd)

如果是 vsftpd:

/var/log/vsftpd.log

或:

/var/log/messages

总结(最快方案)

✅ 只看登录记录

grep sftp /var/log/secure

✅ 看文件操作

Subsystem sftp internal-sftp -l INFO

✅ 安全审计

auditd + ausearch

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否仅 SFTP(禁止 SSH)
  • 是否需要记录“谁传了什么文件”

我可以给你一套 精确配置方案。

0 踩