前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >监控服务器ssh登录,并发送报警邮件

监控服务器ssh登录,并发送报警邮件

作者头像
yaohong
发布2019-09-11 15:41:21
1.6K0
发布2019-09-11 15:41:21
举报
文章被收录于专栏:姚红专栏姚红专栏

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

一:邮箱申请开启SMTP

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

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

二:修改相关参数

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

代码语言:javascript
复制
#!/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”文件。

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

代码语言:javascript
复制
#!/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被监控成功。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:邮箱申请开启SMTP
  • 二:修改相关参数
  • 三:登录检测
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档