1 修改/etc/ssh/sshd_config
将SyslogFacility AUTHPRIV改为SyslogFacility local5
2 修改/etc/syslog.conf
添加如下两行:
# save sshd messages also to sshd.log
local5.* /var/log/sshd.log
3 restart sshd and syslog
然后你可以使用ssh来登录看看发现与sshd有关的信息都记录到了sshd.log中。不在是messages。
顺便贴一个相关的文章:
/etc/syslog.conf 文件使用下面的形式

facility.level action


空白行和以#开头的行可以忽略。Facility.level 字段也被称做 seletor。应该使用一次或多次 tab 键分隔 facility 和 action。大部分 Linux 使用这些空格为分隔符。现在分析一下 /etc/syslog.conf 中的三个要素。

facility 指定 syslog 功能,主要包括以下这些:

auth 由 pam_pwdb 报告的认证活动。
authpriv 包括特权信息如用户名在内的认证活动
cron 与 cron 和 at 有关的信息。
daemon 与 inetd 守护进程有关的信息。
kern 内核信息,首先通过 klogd 传递。
lpr 与打印服务有关的信息。
mail 与电子邮件有关的信息
mark syslog 内部功能用于生成时间戳
news 来自新闻服务器的信息
syslog 由 syslog 生成的信息
user 由用户程序生成的信息
uucp 由 uucp 生成的信息
local0----local7 与自定义程序使用,例如使用 local5 做为 ssh 功能
* 通配符代表除了 mark 以外的所有功能

与每个功能对应的优先级是按一定顺序排列的,emerg 是最高级,其次是 alert,依次类推。缺省时,在 /etc/syslog.conf 记录中指定的级别为该级别和更高级别。如果希望使用确定的级别可以使用两个运算符号!(不等)和=。

user.=info

表示告知 syslog 接受所有在 info 级别上的 user 功能信息。

syslog 级别如下:

emerg 或 panic 该系统不可用
alert 需要立即被修改的条件
crit 阻止某些工具或子系统功能实现的错误条件
err 阻止工具或某些子系统部分功能实现的错误条件
warning 预警信息
notice 具有重要性的普通条件
info 提供信息的消息
debug 不包含函数条件或问题的其他信息
none 没有重要级,通常用于排错
* 所有级别,除了none

action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。

syslog 主要支持以下活动

file 指定文件的绝对路径
terminal 或 print 完全的串行或并行设备标志符
@host 远程的日志服务器
username 发送信息到使用 write 的指定用户中
named pipe 指定使用 mkfifo 命令来创建的 FIFO 文件的绝对路径。