温馨提示×

CentOS SFTP如何看日志

小樊
63
2026-07-20 10:34:01
栏目: 智能运维

在 CentOS 上查看 SFTP 日志,核心要看 sshd 的日志,因为 SFTP 是通过 OpenSSH 提供的。下面按常见场景给你说明。


一、默认日志位置(最常见)

CentOS 7 / CentOS 8 / CentOS Stream

1️⃣ 使用 systemd(推荐)

journalctl -u sshd

查看实时日志:

journalctl -u sshd -f

只看 SFTP 登录相关:

journalctl -u sshd | grep sftp

2️⃣ 传统日志文件

/var/log/secure

查看 SFTP 日志:

grep sftp /var/log/secure

实时查看:

tail -f /var/log/secure

这是 CentOS 查看 SFTP 日志最常用的方法


二、确认 SSHD 是否开启 SFTP 日志

有些系统默认只记录登录,不记录 SFTP 操作细节。

1️⃣ 查看 sshd 配置

grep -R sftp /etc/ssh/

常见配置:

Subsystem sftp /usr/libexec/openssh/sftp-server

2️⃣ 开启详细 SFTP 日志(推荐)

编辑:

vim /etc/ssh/sshd_config

修改或添加:

Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO

或(更详细):

Subsystem sftp /usr/libexec/openssh/sftp-server -l DEBUG

重启 sshd:

systemctl restart sshd

然后再次查看:

tail -f /var/log/secure

三、查看当前 SSH / SFTP 连接

查看当前连接用户

who
w
ss | grep ssh

查看 SFTP 进程

ps -ef | grep sftp

四、如果日志为空或找不到

1️⃣ 确认 rsyslog 在运行

systemctl status rsyslog

没运行就启动:

systemctl start rsyslog
systemctl enable rsyslog

2️⃣ 确认 sshd 日志级别

grep LogLevel /etc/ssh/sshd_config

建议:

LogLevel INFO

重启 sshd:

systemctl restart sshd

五、常用排查命令速查

# 查看 SSH 登录 & SFTP
grep sftp /var/log/secure

# 查看失败登录
grep "Failed password" /var/log/secure

# 查看成功登录
grep "Accepted" /var/log/secure

# 实时查看
tail -f /var/log/secure

六、总结(最简方案)

90% 场景下直接用:

tail -f /var/log/secure

开启详细 SFTP 操作记录:

Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO

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

  • CentOS 版本
  • 是否用 Chroot(sftp 限制目录)
  • 想看的是 登录日志 还是 文件上传/下载记录

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

0