温馨提示×

怎么查看linux sftp日志

小樊
42
2026-10-10 21:49:33
栏目: 智能运维

在 Linux 中查看 SFTP 日志的方法,取决于你使用的是哪种 SSH/SFTP 服务(通常是 OpenSSH),以及系统日志管理方式(rsyslog / journald)。下面按常见场景说明。


一、SFTP 日志在哪里(最常见情况)

SFTP 是 SSH 子系统,日志通常由 sshd 产生。

1. 使用 systemd 的系统(CentOS 7+/Ubuntu 16.04+)

journalctl -u sshd

只看 SFTP 相关:

journalctl -u sshd | grep sftp

实时查看:

journalctl -u sshd -f

2. 使用 rsyslog 的系统(传统)

常见日志文件:

/var/log/auth.log        # Ubuntu / Debian
/var/log/secure          # CentOS / RHEL

查看 SFTP 登录和操作:

grep sftp /var/log/auth.log
# 或
grep sftp /var/log/secure

二、确认 sshd 是否记录 SFTP(重要)

默认情况下,sshd 只记录登录,不记录“上传/下载文件”的详细操作。

检查 sftp 子系统配置

grep sftp /etc/ssh/sshd_config

通常看到:

Subsystem sftp internal-sftp

三、开启 SFTP 详细操作日志(推荐)

如果你需要看到 谁上传/下载了什么文件,需要修改 sshd_config。

1. 编辑配置

vi /etc/ssh/sshd_config

2. 添加或修改为(示例)

Subsystem sftp internal-sftp -l INFO -f AUTH

或针对特定用户组:

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

3. 重启 sshd

# CentOS / RHEL
systemctl restart sshd

# Ubuntu / Debian
systemctl restart ssh

日志级别说明:

  • -l INFO:记录操作
  • -l VERBOSE:更详细(含文件大小等)

四、示例 SFTP 日志内容

开启后你可能看到:

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"

五、第三方 SFTP 服务(补充)

如果你用的是:

  • vsftpd(其实是 FTP,不是 SFTP)
    /var/log/vsftpd.log
    
  • ProFTPD
    /var/log/proftpd/
    

六、快速排查清单 ✅

  1. 确认是 SFTP 还是 FTP
  2. 查看 journalctl -u sshd
  3. 查看 /var/log/auth.log 或 /var/log/secure
  4. 如无可操作日志 → 修改 sshd_config
  5. 重启 sshd 后重新测试

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

  • 系统版本(CentOS / Ubuntu / 其他)
  • 是否需要 审计级 SFTP 日志
  • 是否使用 chroot / 多用户

我可以给你一份可直接用的配置。

0 踩