温馨提示×

centos怎样查看sftp日志

小樊
53
2026-10-03 01:00:21
栏目: 智能运维

在 CentOS 上查看 SFTP 日志,通常取决于你使用的是哪种 SSH/SFTP 服务(一般是 OpenSSH),以及日志是如何配置的。下面按常见情况说明:


一、SFTP 基于 OpenSSH(最常见)

SFTP 是 SSH 的子协议,默认日志由 sshd 产生。

1. 查看 SSH / SFTP 登录日志

journalctl -u sshd

或实时查看:

journalctl -u sshd -f

2. 查看系统日志文件(CentOS 7/8)

/var/log/secure

查看 SFTP 相关记录:

grep sftp /var/log/secure

实时查看:

tail -f /var/log/secure

二、查看具体的 SFTP 操作记录(上传/下载)

默认情况下,OpenSSH 不会记录 SFTP 文件操作。如果你需要看到“上传了什么文件、下载了什么文件”,需要单独配置。

方法 1:使用 internal-sftp + 日志级别(推荐)

编辑 SSH 配置:

vi /etc/ssh/sshd_config

找到或添加:

Subsystem sftp internal-sftp -l INFO -f AUTH

或者按用户/组限制:

Match Group sftpusers
    ChrootDirectory /data/sftp
    ForceCommand internal-sftp -l INFO

重启 SSH:

systemctl restart sshd

然后查看:

grep sftp /var/log/secure

你会看到类似:

open "/upload/test.txt" flags WRITE
close "/upload/test.txt"

三、使用 rsyslog 单独记录 SFTP 日志(进阶)

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

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

重启 rsyslog:

systemctl restart rsyslog

四、CentOS 版本差异说明

系统 日志位置
CentOS 6 /var/log/secure
CentOS 7 /var/log/secure + journalctl
CentOS 8 / Stream journalctl + /var/log/secure

五、常见问题

1. 看不到 SFTP 操作日志?

✅ 未使用 internal-sftp
✅ 未加 -l INFO
✅ 日志级别太低

2. 只看到登录,看不到文件?

这是正常现象,需要上面“方法 2”的配置。


如果你愿意,可以告诉我:

  • CentOS 版本
  • 是否使用 Chroot
  • 是否用 vsftpd(不是 sftp)

我可以给你更精确的配置示例。

0 踩