linux系统监控之ssh登陆自动139邮件短信提醒

Linux系统监控非常重要,互联网的网络的安全是一个非常重要的问题,很多时候,我们会出于安全考虑,希望服务器在有用户通过ssh登陆时能自动向管理员发送一条邮件,通知登陆用户名和IP。这是一种不错的安全防范机制,它可以让管理员及时发现异常登陆,并在造成更大危害前(比如获得更高权限)阻止恶意访问。

这里要说明的是,包子使用139邮箱,因为,大家知道这个139邮箱邮件是有移动的短信提醒的。这里有个缺点就是频繁登录的话不断发送短信,这个可以做个一个IP列表即可。

这个脚本对于ssh安全监控非常有用,系统非法登陆都可以时时了解情况,及时保护服务器安全

邮件发送我们使用:sendemail-v1.56 详细可以看:http://www.jincon.com/archives/66/

tar xvf sendEmail-v1.56.tar.gz

mv sendEmail-v1.56 sendEmail

vi /etc/ssh/sshrc

#!/bin/sh

user=$USER

ip=${SSH_CLIENT%% *}

if [ "$user" != "root" ] || [ "$ip" != "192.168.2.88" ]

then

/home/shell/sendEmail/sendEmail -f XXX@XXX -t XXX@XXX -s smtp.XXX -u

"查看谁登陆###192.168.2.4###" -xu USER -xp PASSWD -m "###time:`date

+%Y-%m-%d`###.###user:$USER@`hostname`###.###ClientIP:${SSH_CLIENT%% *}###"

fi

chmod +x /etc/ssh/sshrc

###############简单讲解####################

$USER获取到系统登陆通过ssh的用户名

${SSH_CLIENT%% *}取到系统登陆通过ssh的用户名的IP

if [ "$user" != "root" ] || [ "$ip" != "192.168.2.88" ]使用或来判断来源,是否发邮件报警

###########################################

测试:

1 使用root并且IP为非192.168.2.88,看是否发邮件报警

附上本人的shell生产环境的shell脚本,本人的是更精简,而且是发送139邮箱的。

#!/bin/sh

user=$USER

ip=${SSH_CLIENT%% *}

#if [ "$user" != "root" ] || [ "$ip" != "192.168.91.123" ]

if [ "$ip" != "某个IP" ]

then

/usr/local/bin/sendEmail -f QQ号@qq.com -t 手机号@139.com -s smtp.qq.com -u '有人

登陆服务器' -xu QQ号 -xp QQ密码 -m "${SSH_CLIENT%% *} , `date +%m-%d` , $USER@`hostname`"

fi

linux 程序返回值 139,Linux系统监控之ssh登陆自动139邮件短信提醒相关推荐

  1. linux recv 返回值与linux socket 错误分析

    转载:http://blog.csdn.net/henry115/article/details/7054603 recv函数 int recv( SOCKET s, char FAR *buf, i ...

  2. 易语言取linux命令返回值,易语言取程序返回值写法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:易语言取程序返回值写法回答:在易语言中,程序包括"处理程序"都有六部分组成.一.程序名,就是程序的名称,程序名不 ...

  3. Linux 命令返回值

    在Linux中不管是启动桌面程序还是在控制台执行命令都会有一个返回值,可以叫做错误号(perror),在linux中执行命令后可通过命令:echo $?来查看上一条命令的返回值.要查看返回值的具体含义 ...

  4. linux recv返回值,recv recvfrom

    recv和recvfrom都是用来接受来自的网络的数据.来看看它们的原型: int recv( SOCKET, char FAR*, int, int ); int recvfrom( SOCKET, ...

  5. PHP允许输入负数,php exec在linux中返回值不能为负数

    php exec在linux中返回值不能为负数有需要的朋友可参考一下. 我们先来了解一下关于exec函数的使用方法 exec() 原型:  代码如下 复制代码 string exec (string ...

  6. linux程序返回码的含义

    [原文链接]linux程序返回码的含义 文章目录 一.错误码 0-10 的含义 二.错误码 11-20 的含义 三.错误码 21-30 的含义 四.错误码 31-40 的含义 五.错误码 41-50 ...

  7. 与 python 中的 os.system(cmd) 返回值与linux 命令返回值对应关系

    一.python中的 os.system(cmd)的返回值与linux命令返回值(具体参见本文附加内容)的关系 大家都习惯用os.systemv()函数执行linux命令,该函数的返回值十进制数(分别 ...

  8. 如何获取程序返回值,退出码,错误码

    在c/C++语言程序设计中,我们可能经常性的需要进行错误处理,异常处理等问题. 关于异常部分,主要就是C++异常了. 今天我们主要谈论c语言方面的一些问题:如何获取程序返回值,退出码,错误码. 1如何 ...

  9. Stackoverflow热门问题(二十二)-如何在Windows cmd中得到程序返回值?

    文章首发及后续更新:https://mwhls.top/2873.html 新的更新内容请到mwhls.top查看. 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看. stackoverf ...

最新文章

  1. 加密解密_使用RSA密钥对加密解密数据
  2. 2018年人工智能13大预测
  3. 全国大学生智能车竞赛(创意组)陕西理工大学校级选拔赛顺利举行
  4. HPU暑期第五次积分赛 F - 辞树的质因数分解
  5. 小明分享|嵌入式LINUX开发日志-错误汇总①
  6. 【汇编语言(第3版)王爽】第八章学习内容
  7. MapReduce-计数器
  8. Live Source Address 2019最新的电视广播包_澧县召开非法卫星电视广播地面接收设施专项整治工作会议...
  9. 2018年上半年读者最喜爱的异步新书TOP50
  10. SpringMVC -- 梗概--源码--贰--RestFul收参(了解) @PathVariable
  11. Access to the path ‘‘ is denied.解决方案
  12. 使用Redis存取数据+数据库存取(spring+java)
  13. zmap扫描mysql_45分钟扫遍全网:最快的互联网扫描工具ZMap
  14. OD教程(去除NAG窗口--PE文件结构)
  15. The coordinates or measures are out of bounds.
  16. Python常用小技巧(三)——批量修改图片尺寸
  17. WebView加载String字符串
  18. iOS逆向 - iOS13 iOS14 模拟点击 模拟触摸 按键模拟 新触动精灵 开源免费
  19. 高中计算机专业教师 教学计划,信息技术教师教学计划
  20. matplotlib sci论文画图技巧

热门文章

  1. 继承_月隐学python第16课
  2. java ssm 项目案例,亲测可用的JAVA SSM项目
  3. html5 can,微软想要从HTML5中分离Can
  4. java 中数组与list_Java中List与数组相互转换实例分析
  5. 常州彪马机器人_PUMA560型机器人
  6. codechef LEMOVIE dp
  7. 百词斩和扇贝打卡测试与评估
  8. [BOI2007] Mokia
  9. iOS 配置pch文件
  10. 使用mysqlbinlog恢复指定表