我正试图从我的sftp服务器收集额外的操作日志logging。 我已经将以下几行添加到/ etc / ssh / sshd_config中,正如互联网上的许多post所指示的那样:
Subsystem sftp internal-sftp -l VERBOSE -f LOCAL6 Match Group sftponly ChrootDirectory /data/%u ForceCommand internal-sftp -l VERBOSE -f LOCAL6 X11Forwarding no AllowTcpForwarding no
然后,我使用以下几行创build了/etc/rsyslog.d/60-sftp.conf以收集日志信息:
# Parse the data logged at level INFO and facility LOCAL6 into /var/log/sftp local6.* /var/log/sftp # Report logins and logoffs :syslogtag,startswith,"internal-sftp" /var/log/sftp # Log internal-sftp in a separate file :programname, isequal, "internal-sftp" -/var/log/sftp
在这一点上,我似乎无法得到任何日志logging到/ var / log / sftp,这是继续去/ var / log / messages,似乎并没有详细的。 这里是我所得到的一个片段:
Sep 28 16:46:11 ftp sshd[10060]: Accepted publickey for root from 172.25.50.117 port 54836 ssh2 Sep 28 16:46:11 ftp sshd[10060]: Received disconnect from 172.25.50.117: 11: disconnected by user Sep 28 16:46:16 ftp sshd[10109]: Accepted keyboard-interactive/pam for account1000002664 from 172.25.50.86 port 34255 ssh2
我已经通过运行validation了系统正在运行rsyslogd:
ftp:~ # ps ax | grep syslog 9205 ? Sl 0:00 /sbin/rsyslogd -c 5 -f /etc/rsyslog.conf
所以,据我所知,我正在编辑正确的文件。 我想下一步是确保预期的日志被发送到local6。 这里的目标是获得输出类似日志所需的数据,如果不是完全像由vsftpd创build的xferlog。
那里的人有什么想法如何进行? 作为一个方面说明,这是运行在OpenSuse 12.1。
您需要在chroot拥有日志套接字( /dev/log ),如果您想要通过日志套接字login,或者需要实现通过internal-sftp执行持久化文件描述符的方式。
它应该在目前的RHEL上工作(至less我们testing了它并且有文档logging ),但是我不了解suse。
也许这个function并没有在那里完全实现,但是如果你总是可以在chroot创build套接字并且设置rsyslog来接受这个套接字上的消息。 您可以按照build议在评论中使用logging器进行testing。