我一般没事的话,不长登录服务器,长时间没有登录的话,就会担心服务器会不会被入侵了,没安全感啊!–
所以写了一个脚本,只要有用户通过ssh登录到服务器上,自动把ip地址所在地图时间发送到特定邮箱中
所需软件
1.nali 获取ip的所在地区
1 2 3 4 5 6 |
wget --no-check-certificate https://qqwry.googlecode.com/files/nali-0.2.tar.gz tar zxvf nali-0.2.tar.gz cd nali-0.2/ ./configure make make install |
2. mutt 以及 msmtp
Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
配置成功了,发个邮件测试一下
1 |
echo "邮件内容"| mutt -s "邮件主体" 接收邮件地址 |
假如能收到的话,可以进行下一步了
新建一个脚本 放到 /opt下其他目录也行比如 /usr/local/bin/ 只要是在环境变量path中就行了
1 2 |
vi /opt/user_login_notice.sh #输入下面的内容 |
1 2 |
#! /bin/sh echo login from `nali ${SSH_CLIENT%% *}` at `date +'%H:%M:%S %m/%d'` | mutt -s "[ssh notice]$USER@`hostname` " ksc@qq.com |
也可以不通过mutt,直接通过 msmtp发送
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh content="login from `nali ${SSH_CLIENT%% *}` at `date +'%H:%M:%S %m/%d'`" head="MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8\r\n" head=$head"To: ${to}\r\nFrom: geekli notice <notice@geekli.cn>\r\nSubject: [ssh notice]$USER@`hostname`\r\n\r\n" echo $head$content | msmtp -a notice ksc@qq.com # msmtp -a 指定发送邮件的账户 若设置了默认的 可不填写 #邮件头中要设置 字符编码格式 不然可能会出现乱码的情况 # From:中的 发送地址要跟msmtp中配置的一致 # 希望所有用户都能发送,需要msmtp的全局配置文件 /etc/msmtprc |
1 2 3 4 5 6 |
chmod 775 /opt/user_login_notice.sh #添加执行权限 vi /etc/ssh/sshrc #可能会没有这个文件 #然后输入以下内容 #!/bin/sh /opt/user_login_notice.sh |
这样每次登录后会调用邮件发送脚本 我发送接受都是用的QQ邮箱,基本上3秒之内就能收到通知