温馨提示×

ubuntu sftp怎么查日志

小樊
46
2026-10-11 04:59:41
栏目: 智能运维

在 Ubuntu 上查看 SFTP 日志,通常取决于你使用的是哪种 SFTP 服务(一般是 OpenSSH 的 sftp-server)。下面是常见、实用的方法:


一、通过系统日志查看 SFTP 连接记录(最常用)

Ubuntu 默认使用 rsyslog,SFTP(基于 SSH)日志通常在:

1. 查看 auth 日志

sudo tail -f /var/log/auth.log

常见记录示例:

Accepted password for user from 192.168.1.100 port 54321 ssh2
session opened for user user by (uid=0)

SFTP 登录、断开都会在这里显示。


二、开启详细 SFTP 操作日志(上传/下载)

默认 SFTP 不记录文件操作,需要手动配置。

1. 修改 SSH 配置

sudo vim /etc/ssh/sshd_config

找到或添加:

Subsystem sftp internal-sftp -l INFO -f AUTH

或(更详细):

Subsystem sftp internal-sftp -l VERBOSE -f AUTH

参数说明:

  • -l:日志级别(INFO / VERBOSE)
  • -f:日志设施(AUTH)

2. 重启 SSH

sudo systemctl restart ssh

3. 查看日志

sudo tail -f /var/log/auth.log

会看到类似:

open "/home/user/test.txt" flags READ
close "/home/user/test.txt"

三、为特定用户单独记录 SFTP 日志(推荐)

1. 修改 sshd_config

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp -l VERBOSE -f AUTH

2. 重启 SSH

sudo systemctl restart ssh

这样不会影响普通 SSH 用户。


四、使用 journalctl(systemd)

如果日志由 systemd 管理:

sudo journalctl -u ssh

实时查看:

sudo journalctl -u ssh -f

五、确认日志是否开启成功

sudo grep sftp /var/log/auth.log

如果没有输出,说明:

  • 未配置 -l
  • 用户未真正使用 SFTP
  • 日志被重定向

六、常见坑

❌ SFTP ≠ FTP(vsftpd 是另一套)
❌ 默认不记录文件操作
❌ Chroot 环境需正确权限,否则无法登录


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

  • Ubuntu 版本
  • 是否用 vsftpd / proftpd
  • 是否要审计“谁下载了什么”

我可以给你更精确的配置方案。

0 踩