我想知道是否有一种方法来记录服务器接收的命令。只要包含有关文件传输的命令的信息,它就可以是所有SSH命令。<​​br />
我在SFTP客户端上遇到问题,创建者正在询问日志,但是我无法查找任何现有的日志。

我想同时登录CentOS或OS X或两者(虽然我怀疑是否有可能登录,但两者都相似)。

评论

wiki.archlinux.org/index.php/SFTP_chroot#Logging

#1 楼

OpenSSH版本4.4p1及更高版本(应包括CentOS 5的最新版本)具有内置的SFTP日志记录功能-您只需对其进行配置。

在您的sshd_config中找到它(在centos中,文件/ etc / ssh / sshd_config):

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


并将其更改为:

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


INFO仅是默认情况下的详细信息之一-它提供有关文件传输,权限更改等的详细信息。如果您需要更多信息,您可以相应地调整日志级别。各个级别(按详细顺序排列)是:

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


关于VERBOSE的任何信息都可能比您想要的要多,但可能会有用。 />
最后重新启动SSH服务以更新更改(中心):

systemctl restart sshd


评论


我不知道您可以像这样登录SFTP,这就是我所需要的。它在哪里存储日志? /var/log/auth.log?

–Rory
2010-1-22的15:17

这取决于您的syslog配置。使用INFO日志级别,大多数默认syslog.conf会将这些条目放置在/ var / log / messages中。

–rvf
2010-2-2在20:02

是否可以使用内部sftp服务器执行此操作?

–钱
2011-2-22在16:40

这对SFTP完全适用,但是SCP呢?我在日志中找不到使用scp命令复制的文件的任何条目,尽管该日志对于sftp成功

–麦芽酒
16-10-3在19:24

在Ubuntu上,这些日志默认为/var/log/auth.log。将-f USER添加到该子系统配置行,以将其发送到/ var / log / syslog。

–扔掉帐户
17年5月4日在22:23

#2 楼

围绕sftp-server的日志记录的相同开关也适用于internal-sftp。这是我的/ etc / ssh / sshd_config中的一个示例:
基于Red Hat的发行版):

Subsystem   sftp    internal-sftp -f AUTH -l INFO


评论


我发现,就我而言,它仅记录root用户的sftp会话,而不记录我的chroot用户测试。我不明白为什么,您有什么主意吗?

–JohnnyFromBF
2012年7月4日13:46

看起来您的chroot区域中需要/ dev / log。诸如sudo mkdir / chrooted / area / dev,sudo touch / chrooted / area / dev / log,sudo chmod 511 / chrooted / area / dev,sudo chattr + i / chrooted / area / dev,sudo mount --bind / dev之类的东西/ log / chrooted / area / dev / log。用户仍然可以对该/ dev / log进行写访问,但是由于它是一个套接字,因此如果他们只能访问sftp,则不会造成太大的危害。

–sch
13年5月5日在10:29

感谢您的提示。但是,我似乎无法使其工作。您能具体一点吗?

–user1092608
13年3月15日在11:52

FWIW:在ArchLinux Wiki中,有一个很好的说明,说明如何在chroot环境中启用日志记录:wiki.archlinux.org/index.php/SFTP_chroot#Logging

–凯伊
2015年9月9日14:36



#3 楼

为了使上面的注释更清楚:

如果使用jail(chroot环境)配置了sftp,则无需进行额外的配置便无法登录。日志无法在chroot环境中编写,您需要创建安装绑定或套接字。
我建议使用套接字,因为它是syslog-ng和rsyslog所提供的功能(也许很多更多)。

对于那些使用syslog-ng的用户,请查看此链接。
对于使用rsyslog的用户;希望能有所帮助。