perl 实现打印匹配模式行及上下行的操作

这个可能用的着,在看日志时候,比如搜索tomcat 错误日志的时候
1、perl One-liner实现

实现原理:把每一行保存在一个数组@b里,把匹配的行号保存在素组@a里,然后在END模块打印出来

2、perl脚本实现

保存为xx.pl 然后chmod u+x xx.pl
./xx.pl RE file

rex advent—— rex 批量部署sshd密码尝试攻击脚本

1、首先是防攻击脚本,原理是扫描/var/log/secure文件,发现一小时内尝试密码错误超过30次的ip,则
将该ip加入iptables黑名单drop掉。

2、将该脚本保存为block_ssh.sh
3、创建一个上传任务,把该文件上传到远程服务器,给予执行权限。加入crontab 每5分钟执行一次。

 

rex advent—— rex 任务执行情况,错误信息等

当批量远程执行任务时如何判断任务执行是否成功,以及错误信息呢?
最简单是方法是在设定执行完一个任务后输出服务器ip,然后根据输出信息来判断

继续阅读

rex advent—— rex 创建用户并追加本地多文件ssh公钥到远程服务器用户

管理用户密钥比较繁琐,尤其是多密钥时候,下面给出一种方法:

继续阅读

rex advent—— rex 加密Rexfile中账号和证书信息

我们知道Rexfile的账号密码和证书路径都是密码的,容易泄漏了,我们可以用base94算法对进行一下加密
可以防止直接被泄露,虽然这不能保证被人反解密(可以用自己加密算法写模块,或者更底层的方法,这里不深入),
但是聊胜于无。好吧先看具体做法。

基本原理用Base64基本算法,用两个函数encode_base64()和 decode_base64()。

继续阅读