保罗汤布林有正确的建议。
设置日志记录在你的sshd_config指向一个syslog工具,你可以分别登录:
=>见人3系统日志的更多的设施。选择一个像例如
# Logging
SyslogFacility local5
LogLevel INFO
然后设置你的syslog.conf这样的:
local5.info |/var/run/mysshwatcher.pipe
添加你要写入/ etc/inittab中,因此保持运行的脚本:
sw0:2345:respawn:/usr/local/bin/mysshwatcher.sh
然后写你的脚本:
#!/bin/sh
P=/var/run/mysshwatcher.pipe
test -p $P || mkfifo $P
while read x
# ... whatever, e.g.:
echo "ssh info: $x" | wall
done;
Fina lly,重新启动你的syslogd并重新加载inittab(init q),它应该可以工作。如果使用这些服务的其他变体,则需要相应地进行配置(例如,newsyslogd => /etc/newsyslog.conf; Ubuntu:/etc/event.d不是inittab)
这是非常简陋和缺乏的,但应该足以让你开始...
更多信息:man sshd_config for more logging options/verbosity。