最近想监控下云主机的ssh登录情况,所以开始写ssh登录报警监控。实现方式并不难。

一:邮箱申请开启SMTP

在邮箱中选择“设置”----->“账户”

在如下图处开启POP3/SMTP服务,并生成授权码。

二:修改相关参数

登录要进行ssh登录监控的服务器,在/etc/ssh创建"sshrc"文件:

#!/bin/bash
#获取登录者的用户名
user=$USER
#获取登录者的IP地址
ip=${SSH_CLIENT%% *}
#获取登录的时间
time=$(date +%F%t%k:%M)
#服务器的IP地址
hostname=$(hostname)
echo "content=$time,$user,$ip,$hostname" > log python /etc/ssh/testEmail.py "$time" "$user" "$ip" "$hostname"

并在如上自定义路径中创建“testEmail.py”文件。

添加颜色部分,按邮箱,授权码,以及相关术语进行修改。

#!/usr/bin/python
# -*- coding: UTF-8 -*- import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import sys def send_mail(dtime,duser,dip,dhostname):
#基础信息
# from_addr = input("From:")
from_addr = "yaohong@qq.com"
password = "授权码"
#to_addr = from_addr
to_addr = "yaohong@qq.com"
# password = raw_input("Password:")
# to_addr = input("To:") def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr)) smtp_server = "smtp.qq.com"
mimetex = '您的机器:',dhostname,',于:',dtime,',被IP:',dip,'以账号',duser,'进行登录,请确认是否为公司员工。'
#构造邮件
msg = MIMEText(''.join(mimetex), 'plain', 'utf-8')
msg['From'] = _format_addr("yaohong")
msg['To'] = _format_addr("yaohong@qq.com")
msg['Subject'] = Header("来自yaohong", 'utf-8').encode()
#发送邮件
server = smtplib.SMTP_SSL(smtp_server, 465)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit() if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])

三:登录检测

 安装完后,再次进行ssh登录该服务器会收到邮件如下图,则表示ssh被监控成功。

  

监控服务器ssh登录,并发送报警邮件的更多相关文章

  1. zabbix配置发送报警邮件

    配置邮件分为两种情况: 第一种:使用远端邮件服务器发送报警邮件 Linux系统版本:CentOS6.5-64 下载mailx: http://nchc.dl.sourceforge.net/proje ...

  2. 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录

    邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...

  3. linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)

    一,alertmanager的用途 1,Alertmanager的作用: Alertmanager是一个独立的报警模块, 它接收Prometheus等客户端发来的警报,并通过分组.删除重复等处理, 通 ...

  4. 使用python脚本配置zabbix发送报警邮件

    #前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...

  5. linux下发送报警邮件(mailx)

    本文章主要解决 linux下监控到系统状况后怎么发邮件报警的问题. 如果你是最小化安装的centos/redhat 系统,是没有自带mailx的,也就是没有mail 命令. 解决办法 yum -y i ...

  6. 监控CPU使用率并发送报警邮件

    #!/bin/bash DATE=$(date +%F" "%H:%M) #只支持centos6 IP=$(ifconfig eth0 | awk -F '[ :]+' '/ine ...

  7. C++实现的服务不可用发送报警邮件

    正在看C++,我主业是Java开发,但是最近服务不太稳定,自己用C++造了个小轮子. 配置好要监控的访问路径,IP.端口号和路径.涉及到的知识点有以下几个部分: 构造函数与析构函数 内存的分配与释放( ...

  8. zabbix 发送报警邮件

  9. 04_实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给root 管理员.

    #!/bin/bash#提取根分区剩余空间disk_size=$(df -h / | awk '/\//{print $4}')#提取内存剩余空间disk_size=$(df -h / | awk ' ...

随机推荐

  1. mysql加锁读

    Locking Reads 在同一个事务中,如果你先查询数据,随后对相关数据进行插入或修改,那么在标准的SLELECT中不会给出足够的保护.在你查询期间另一个事务可以更新或者删除相同的行.InnoDB ...

  2. 对《cookie之困》的一些总结与思考

    0x00 前言 早些时候在gayhub翻安全大会的paper,翻到了kcon的一些paper. https://github.com/knownsec/KCon 从前辈们的paper中学到了不少,也产 ...

  3. OpenCV探索之路(二):图像处理的基础知识点串烧

    opencv图像初始化操作 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> using n ...

  4. MySQL innodb_table_monitor 解析

    背景:       用innodb_table_monitor来查看表内部的存储信息和索引结构是一个好的办法.再之前的MySQL 字符串主键和整型主键分析中提到了一些内容,但没有细讲,现在来好好的分析 ...

  5. 微信小程序之两个页面传值

    需求:发送页面点击某一个元素之后,获取该元素的属性值,然后把这些属性值传到接收页面中. 思路:获取当前点击元素的索引,就能获取当前元素的值,然后通过跳转的 url 地址传递值 还是整个完整的例子吧: ...

  6. 基于 Webpack 引入公共库的几种方式

    以 jquery 和其插件 jquery-modal 为例,记录下引入公共库的几种方式. 为了方便,首先安装 jquery 和 jquery-modal: cnpm i jquery jquery-m ...

  7. tty各种设备的情况

    通常使用tty来简称各种类型的终端设备. (1)串口端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备.计算机把每个串行端口都 ...

  8. [搬运] 写给 C# 开发人员的函数式编程

    原文地址:http://www.dotnetcurry.com/csharp/1384/functional-programming-fsharp-for-csharp-developers 摘要:作 ...

  9. JavaSE(十一)之异常处理详解

    一.异常概述 在我们日常生活中,有时会出现各种各样的异常,例如:职工小王开车去上班,在正常情况下,小王会准时到达单位.但是天有不测风云,在小王去上班时,可能会遇到一些异常情况,比如小王的车子出了故障, ...

  10. bzoj usaco 金组水题题解(1)

    UPD:我真不是想骗访问量TAT..一开始没注意总长度写着写着网页崩了王仓(其实中午的时候就时常开始卡了= =)....损失了2h(幸好长一点的都单独开了一篇)....吓得赶紧分成两坨....TAT. ...