【CentOS】 Linux 7.4.1708 (Core)系統遠程登陸服務器時發送郵件提醒

1、業務場景

1、很多時候爲了各方面原因,需要用到登陸到linux系統的時候,提醒管理員是誰登陸的,在哪登陸的,以及登陸的ip,是不是非常用性的ip,是不是被非法入侵。。。。等等原因,所以就需要提醒服務,這裏採用的是郵件提醒方式。
2、這裏採用的是SendMail的方式,也可以採用自己寫個python腳本,或者php腳本,等等腳本語言,先實現發送郵件的功能,然後直接到服務器啓動的地方觸發腳本,即可完成郵箱預警,這裏寫個博客,只做大致展示,精細以及完善,還得靠自己!

2、安裝SendMail
yum  -y  install  sendmail
3、安裝Mailx
yum install -y mailx
4、開啓防火牆端口25和465(這裏是服務器虛擬機裏面開啓,如果是買的阿里雲,去安全組就行了)
#開啓25端口
firewall-cmd --add-port=25/tcp --zone=public --permanent
#開啓465端口
firewall-cmd --add-port=465/tcp --zone=public --permanent
#重啓防火牆
systemctl restart firewalld
5、配置/etc/mail.rc文件

1、查找位置 取下圖紅圈圈出來的部分

find / -name "cert*.db" 

在這裏插入圖片描述
2、進入編輯文件

vi /etc/mail.rc

3、寫入以下配置**(這裏使用的是QQ郵箱 註釋記住最好刪掉)**

set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
set [email protected] #發送者QQ賬號 
set smtp=smtps://smtp.qq.com:465 #發送地址 這裏使用的是QQ郵箱
set [email protected] #發送者QQ賬號
set smtp-auth-password=xxxxxxx #發送者QQ賬號密鑰 不是QQ密碼!!!!
set smtp-auth=login

在這裏插入圖片描述
4、重啓SendMail服務

#重啓
systemctl restart sendmail
#查看狀態
systemctl status sendmail
6、先手動觸發命令測試是否能成功發送郵件
echo "我是郵件提醒" | mailx -v -s "服務器登陸提醒" [email protected] #記住這裏是要你要發送的對象

在這裏插入圖片描述

7、linux設置登陸的時候觸發發送郵件(這裏採用的是centos7)

1、各種環境下寫入的配置位置:
Linux用戶登陸都會執行/etc/profile文件
Ubuntu/Debian系統環境 編輯根目錄下 ~/.bashrc文件
CentOS系統 編輯 ~/.bash_profile文件

vi ~/.bash_profile

2、寫入配置**(如下圖所示:)**

#獲取登陸賬戶
user=$USER
#獲取登陸時間
time=$(date +%F%t%k:%M)
#獲取登陸ip
ip=${SSH_CLIENT%% *}
#登陸ip歸屬地 這個http地址是獲取ip的,也可以自己找個網站替換掉
address=`curl http://icanhazip.com`
echo "用戶 $user 用 $address ip地址在  $time  登陸線上服務器  " | mailx -v -s "服務器登陸提醒" [email protected]

在這裏插入圖片描述

8、測試重新登陸

在這裏插入圖片描述

9、遇到困難可以評論(有信必回)小軒微信17382121839。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章