如何在 FreeBSD 上记录每次登录 (SSH)

pop*_*tea 6 freebsd ssh login logging

我想将每次 SSH 登录尝试(无论成功与否)都记录到我的 FreeBSD 服务器的一个文件中,并每天将此日志邮寄给 root。

我可以通过解析来完成这样的事情/var/log/auth.log,但是 a) 这包含的不仅仅是登录尝试,并且 b) 自昨天的运行以来它可以被翻转。有没有更直接的方法来做到这一点?例如 SSHd 或登录配置中的一个钩子来记录每次登录?

use*_*517 6

默认是登录到AUTH设施。您可以facility使用SyslogFacility配置选项更改sshd 日志。

SyslogFacility LOCAL7
Run Code Online (Sandbox Code Playgroud)

然后将您的 syslogd 配置为通过添加将 local7.* 写入它自己的文件

local7.*     /var/log/local7.log
Run Code Online (Sandbox Code Playgroud)

到 syslogd 配置文件。通过向 syslogd 发送HUP信号来告诉 syslogd 重新读取它的配置文件,对 sshd 执行相同的操作,并且您应该将 sshd 消息发送到它自己的文件。