我无法弄清楚如何在 CentOS 7 服务器上记录 SFTP 的用户活动。我已配置 rsyslog 将日志发送到我的 Syslog 服务器。我想对用户活动做同样的事情。
谢谢你!
答案1
请先检查一下:https://linux.die.net/man/8/sftp-server
从这里您可以根据您的需求选择可用的选项和完美的选项;记录“用户活动”。
我猜是:
-f USER -l INFO
请按照以下说明进行操作,并根据您的需要进行修改。
问题:
如何配置 sftp 来记录传输文件的名称、位置和大小?
回答:
配置 sshd_config 文件以将信息记录到 syslog。
#vi /etc/ssh/sshd_config
找到以下行:
Subsystem sftp /usr/sbin/sftp-server
添加以下参数“-l 信息 -f 身份验证”在最后:
Subsystem sftp /usr/sbin/sftp-server -l INFO -f AUTH
保存/etc/ssh/sshd_config文件。
配置 syslog 以记录来自 sftp 服务器的信息。
# vi /etc/syslog.conf
在 syslog.conf 中添加以下行
auth.info /tmp/sftp.log
保存文件/etc/syslog.conf,创建日志文件,并刷新 syslogd。
# touch /tmp/sftp.log
# refresh -s syslogd
重新启动 sshd 守护进程。
# stopsrc -s sshd
# startsrc -s sshd
注意:停止和启动 sshd 时,用户将无法创建新连接。现有连接不会被断开。
从 sftp 客户端测试以下内容。
# sftp user@<server-name>
password: <Enter Password>
<sftp>cd /
<sftp>put motd
在系统日志中,您应该看到类似于以下输出的记录信息,其中包括文件名和大小。
Oct 8 11:29:07 greybso auth|security:info sftp-server[372922]: open "/motd" flags WRITE,CREATE,TRUNCATE mode 0666
Oct 8 11:29:07 greybso auth|security:info sftp-server[372922]: close "/motd" bytes read 0 written 880
来源:https://www.ibm.com/support/pages/configuring-sftp-log-filename-location-and-size-transfers