sftp日志记录

2,063 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protocol,中文:安全文件传送协议,英文:Secure FTP或字母缩写:SFTP)是一数据流连线,提供文件访问、传输和管理功能的网络传输协议。由互联网工程任务组(IETF)设计,透过SSH 2.0 的扩展提供安全文件传输能力,但也能够被其他协议使用。即使IETF在网络草案资料阶段时,这个协议是在SSH-2文件中描述,它能够使用在许多不同的应用程序,例如安全文件传输在传输层安全(TLS)和传输信息管理于虚拟专用网应用程序。这个协议是假设执行在安全信道,例如SSH,服务器已经认证客户端,并且客户端用户可利用协议。

如果想记录sftp的一些操作记录(ls、get、put等)可以尝试以下两种方式

\

1、仅记录文件

如果你只想看到sftp的一些操作日志,那么默认配置就可以完全满足我们的要求,操作起来也非常简单,只需要在sshd的默认配置(/etc/ssh/sshd_config)中修改对应的配置即可,在最后面添加一行命令行参数来允许日志记录:Subsystem sftp/etc/ssh/sshd_config

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

重新启动sshd服务,并执行 sftp 的一些简单操作,就可以在/var/log/messages:中出现下面这些日志

service sshd restart

Mar  9 09:39:07 localhost sftp-server[1829]: received client version 3
Mar  9 09:39:07 localhost sftp-server[1829]: realpath "."
Mar  9 09:39:09 localhost sftp-server[1829]: lstat name "/root"

2、记录到具体文件

如果想日志记录到指定文件,则需要将rsyslog的消息引导到另一个文件中,可以使用-f 的参数,同上只需要在上面的文件修改成如下所示:

vi /etc/ssh/sshd_config:

Subsystem   sftp    /usr/libexec/openssh/sftp-server -l VERBOSE -f LOCAL3 

并且修改 /etc/rsyslog.conf

并在/etc/rsyslog.conf:

local3.*                /var/log/sftp.log 

修改完成后重启sshd 和 rsyslog后,就可以在/var/log/sftp.log 看到如下日志了

service rsyslog restart

service sshd restart

Mar  9 09:49:02 localhost sftp-server[1947]: received client version 3
Mar  9 09:49:02 localhost sftp-server[1947]: realpath "."
Mar  9 09:49:04 localhost sftp-server[1947]: lstat name "/root"

另外,如果你只想记录一些特定的信息,同样的也只用修改配置文件即可,编辑/etc/rsyslog.conf

..snip..
local3.*                        /var/log/sftp.log
&~
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
..snip..

\

然后重新启动 rsyslog 服务。

service rsyslog restart

消息现在被记录到/var/log/sftp.log并且由于存在“&~”,它们将仅限于/var/log/sftp.log。

参数说明:

-l :level

QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3

此日志顺序是按照日志详细顺序由少到多的顺序排列,可以通过自己的需求来进行操作和修改,一般常用的为INFO和VERBOSE

INFO : 它提供有关文件传输、权限更改等的详细信息

VERBOSE :任何内容都可能比您要查找的信息更多

-f :log_facility

文件\