我在SFTP客户端上遇到问题,创建者正在询问日志,但是我无法查找任何现有的日志。
我想同时登录CentOS或OS X或两者(虽然我怀疑是否有可能登录,但两者都相似)。
#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的用户;希望能有所帮助。
评论
wiki.archlinux.org/index.php/SFTP_chroot#Logging