温馨提示×

怎么查debian sftp日志

小樊
41
2026-10-15 09:06:51
栏目: 智能运维

在 Debian 上,SFTP 通常是通过 OpenSSH 的 sshd 服务提供的,所以 SFTP 日志一般记录在 系统日志(rsyslog / journald) 中,而不是单独的 sftp 日志文件。

下面按常见情况说明怎么查。


一、用 journalctl 查(推荐,systemd 系统)

Debian 8+ 默认使用 systemd:

sudo journalctl -u ssh.service

只看 SFTP 相关:

sudo journalctl -u ssh.service | grep sftp

实时查看:

sudo journalctl -u ssh.service -f

二、查传统日志文件(rsyslog)

1. 系统认证日志(最常用)

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

SFTP 登录、断开、命令执行通常都在这里,例如:

Accepted password for user from 192.168.1.10 port 54322 ssh2
session opened for user user by (uid=0)

2. 搜索 SFTP 记录

sudo grep sftp /var/log/auth.log

三、确认 SFTP 是否由 sshd 提供

grep sftp /etc/ssh/sshd_config

常见配置:

Subsystem sftp internal-sftp

说明 SFTP 是 sshd 内部子系统。


四、增强 SFTP 日志(详细操作记录)

默认 不记录具体文件操作。如需记录:

方法 1:使用内部 SFTP + 日志

编辑 /etc/ssh/sshd_config:

Subsystem sftp internal-sftp -l INFO -f AUTH

或针对 Match 用户:

Match Group sftpusers
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp -l VERBOSE

重启 ssh:

sudo systemctl restart ssh

日志仍写入 /var/log/auth.log


五、查看某个用户的 SFTP 行为

sudo grep 'user xxx' /var/log/auth.log

六、总结

方式 命令
systemd journalctl -u ssh
日志文件 /var/log/auth.log
实时查看 tail -f /var/log/auth.log
详细 SFTP internal-sftp -l VERBOSE

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

  • Debian 版本
  • 是否使用 chroot
  • 想查“登录”还是“文件操作”

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

0 踩