过滤SSHD日志

我只是想知道筛选我的sshd日志的最佳方法。 问题是我使用Nagios和Cacti通过SSH监视我的盒子。 他们都每5分钟连接一次,这堵塞了我的日志文件负载的条目很难做一个快速的“尾巴”,看看发生了什么事情。

我想从监视用户(在特定的IP)login在一个单独的文件中的所有login。

理想情况下,我会避免安装syslog-ng或类似的。 我必须在各种Ubuntu,CentOS和FreeBSD机器(运行各种OpenSSH版本)上进行设置,所以如果没有其他软件就可以做到这一点。

有关如何实现这一目标的任何build议?

谢谢!

你可以把你的系统日志文件传递给pipe道

mkfifo /var/log/pipes/pipe1 

接着

阅读与脚本,将删除你不希望这样的string:

 cat /var/log/pipes/pipe1 | grep -v "login from xxx.xxx.xxx" | while read LINE do echo $LINE >>/var/log/ssh.log done 

你可以尝试ossec ,它有一个非常好的日志分析。

你可以做这样的事情:

 tail -f logfile | grep -v "some\.ip\.address\.to\.ignore" 

要么

 tail -f logfile | grep -v "some\.ip\.address\.to\.ignore.*user-name" 

Swatch是一个很好的拖拽和过滤日志文件的程序,甚至支持着色行。 还有一个Debian / Ubuntu软件包。