我在 FreeBSD11 上。我更改了 syslog 配置文件以将 sftp 操作记录在文件中,但它不起作用。
/etc/ssh/sshd_config
Subsystem sftp /usr/libexec/sftp-server -f LOCAL5 -l INFO
/etc/syslog.conf
local5.info /var/log/sftp/sftp.log
然后我重新启动服务,但 sftp.log 中保存的任何操作都是空的。
感谢您的帮助。
答案1
这在 OpenSSH 上游软件包中从未起作用。原因如下:
- 您没有
/dev/log
用于发送日志消息的套接字syslog
(如果有,则您在问题中没有提到它) - 可以使用不在 chroot 中的“父”进程套接字来记录事件,但是
- 在这种情况下,您需要修改 OpenSSH 代码(上游错误)并设置就像我们在 Red Hat 中所做的那样。
- 你需要
internal-sftp
使用
答案2
查看
- 您的 PATH 是否
sftp-server
正确(通过locate sftp-server
)。我认为应该是/usr/libexec/openssh/sftp-server
而不是/usr/libexec/sftp-server
。 - 如果
/var/log/sftp/
且/var/log/sftp/sftp.log
存在——具有正确的权限。