服务器SSH登录钉钉通知

发布于 2020-07-23  112 次阅读


11月23日更新

看腻了 之前的通知样式,稍微修改了一下

服务器ssh登录之后实现钉钉通知,第一时间掌握服务器登录情况可以看看到登陆的用户、登陆者ip 、服务器ip 等信息非常方便,其实也是非常简单,只要使用 shell命令就可以完成

1、新建一个文件:vi /etc/ssh/sshrc

2、输入内容

#!/bin/bash
#获取登录者的用户名
user=$USER
#获取登录者的IP地址
ip=${SSH_CLIENT%% *}

ip2=$(curl -s https://ip.fm/?ip=$ip)
#获取登录的时间
time=$(date +%F%t%k:%M)
#服务器的IP地址,自行修改
server='192.168.1.20'
#服务器名称
servername='服务器00233'
#获取公网IP地址
publicip=$(curl -s https://ip.fm)
#--------------------------
#-----------替换下面接口中的0 为自己的 token ---------
curl 'https://oapi.dingtalk.com/robot/send?access_token=000000000000000000' \
-H 'Content-Type: application/json' \
-d '
{

"msgtype": "markdown",
"markdown": {
"title": "'"$servername SSH登录通知"'",
"text": "'"### **$servername SSH登录通知** 
\n         
\n ###### 时间: $time 
\n  ----
\n  ##### **来访者信息▼**
 \n ###### 用户: $user 
 \n ###### [来访 $ip2](https://ip.fm/?ip=$ip)
\n  ----
\n ##### **服务器信息▼**
\n ###### $servername
 \n ###### 本机IP: $server 
\n ###### [公网$publicip](https://ip.fm)
\n ![$servername](https://输入底部图片链接地址.png)
\n "'"
},

}' >/dev/null 2>&1

3、保存:

按后 esc键后 输入

:wq

进行保存操作

4、输入保存之后设置下执行权限:chmod 755 /etc/ssh/sshrc     即可食用

钉钉机器人不会建 可以百度一下

输入  sh /etc/ssh/sshrc   测试一下 脚本有没有写错,如果没有收到通知,可能是钉钉机器人的安全设置没设置好,可以机器人的安全设置里面 使用 关键词 或者IP,我就使用了关键词"服务器登录告警"  因为方便

如果出现报错,使用:bash /etc/ssh/sshrc   命令测试是否能执行


因为喜欢所以折腾。。。