SFTP日志在Debian中的查看方法
Debian系统中,SFTP作为SSH服务的子功能,其日志主要记录在SSH服务的专用日志文件中,最常见的路径为:
/var/log/auth.log:专门记录认证相关事件(包括SFTP登录、权限验证等),是查看SFTP日志的首选位置。/var/log/syslog:部分系统中,SSH日志可能同时写入此系统通用日志文件,但auth.log的内容更聚焦。使用sudo权限打开日志文件(避免普通用户无读取权限),通过文本编辑器或分页工具查看:
sudo nano /var/log/auth.log # 用nano编辑器查看(需手动翻页)
sudo less /var/log/auth.log # 用less工具查看(支持上下翻页、搜索)
若习惯使用vim,可将nano替换为vim。
通过grep命令筛选出包含“sftp”关键字的日志条目,快速定位SFTP活动:
sudo grep 'sftp' /var/log/auth.log # 查看auth.log中所有SFTP记录
sudo grep 'sshd.*sftp' /var/log/auth.log # 更精准地过滤SSH服务中的SFTP事件(如“Accepted sftp”)
常用关键词还包括“Accepted”(成功登录)、“Failed”(失败尝试)、“session opened”(会话开启)等。
使用tail -f命令实时监控日志文件的新增内容,便于观察实时SFTP活动:
sudo tail -f /var/log/auth.log | grep 'sftp' # 实时显示auth.log中的SFTP记录
按下Ctrl+C可退出实时跟踪。
若系统使用systemd(Debian默认使用),可通过journalctl命令查看SSH服务(sshd)的日志,更便于集中管理:
sudo journalctl -u sshd.service # 查看sshd服务的所有日志
sudo journalctl -u sshd.service | grep 'sftp' # 过滤SFTP相关日志
实时跟踪日志:
sudo journalctl -u sshd.service -f | grep 'sftp' # 实时显示sshd服务中的SFTP记录
journalctl的优势在于支持按时间范围(如--since "2025-10-01")、优先级(如-p err)等条件过滤,更灵活高效。
若默认日志信息不够详细(如缺少数据传输记录),可通过修改SSH配置文件提高日志级别:
sudo nano /etc/ssh/sshd_config
找到#LogLevel INFO行,取消注释并将INFO改为VERBOSE(更详细的日志):
LogLevel VERBOSE
保存后重启SSH服务使配置生效:
sudo systemctl restart sshd # Debian/Ubuntu系统
修改后,日志中将包含更多细节(如客户端IP、执行的SFTP命令、传输的文件名等)。
sudo获取root权限才能查看或修改。logrotate工具定期压缩、删除旧日志(如auth.log.1.gz),避免日志文件过大占用磁盘空间。如需自定义轮换规则,可编辑/etc/logrotate.d/rsyslog文件。