当前位置: 首页 > news >正文

SSH监控

创建/etc/ssh/sshrc文件 写入以命令
echo "===== 系统状态 ====="  
uptime  
free -h  
每次登录会显示

在这里插入图片描述

如果在sshrc文件加入以下脚本每次登录就是执行这个脚本
# cat /etc/ssh/sshrc          
echo "===== 系统状态 ====="  
uptime  
free -h  
/usr/local/bin/monit.sh
以下脚本内容
#!/bin/bash

# 获取登录信息
USER_LOGIN="$USER"
IP_LOGIN="${SSH_CLIENT%% *}"  # 提取客户端IP‌:ml-citation{ref="1" data="citationList"}
#IP=$(who -m | awk '{print $NF}' | sed 's/[()]//g')
TIME_LOGIN=$(date "+%Y-%m-%d %H:%M:%S")
HOSTNAME=$(hostname)

# 邮件收件人及主题
MAIL_TO="admin@example.com"
SUBJECT="[SSH告警] 用户登录 - $HOSTNAME"
BODY="
时间: $TIME_LOGIN
用户: $USER_LOGIN
IP地址: $IP_LOGIN
主机名: $HOSTNAME
"
# 发送邮件
#echo -e "$BODY" | mail -s "$SUBJECT" "$MAIL_TO"
echo -e "$BODY" > /tmp/1.txt
echo "[$TIME_LOGIN] SSH登录: 用户 $USER_LOGIN, IP $IP_LOGIN" >> /var/log/ssh_monitor.log

shell2

!/bin/bash  
# 方法1:通过SSH_CLIENT变量  
if [ -n "$SSH_CLIENT" ]; then  
    IP=${SSH_CLIENT%% *}  
    echo "SSH登录IP: $IP"  
else  
    # 方法2:通过who命令  
    IP=$(who -m | awk '{print $NF}' | sed 's/[()]//g')  
    echo "当前登录IP: $IP"  
fi  

相关文章:

  • 深度学习模型与前端结合
  • SimPro - 轻量级协议模拟器
  • [Git]克隆仓库报错warning: remote HEAD refers to nonexistent ref, unable to checkout
  • CAP定理和BASE理论 趣学!
  • Kafka Connect连接器的全生命周期:
  • Nat Mach Intell | AI分子对接算法评测
  • 魔改switch样式
  • JVM 深入理解与性能优化
  • 哈工大计算机系统大作业----程序人生
  • 为何在用户注销时使用 location.href 而非 Vue Router 的 router.push
  • 理解 TCP 三次握手与四次挥手:详解网络连接与断开过程
  • SpringBoot原理-04.自动配置-原理分析-源码跟踪
  • SEKI —— 基于大型语言模型的自进化与知识启发式神经架构搜索
  • 蓝桥杯备赛Day12 动态规划1基础
  • UDP透传程序
  • 数据结构:哈希表
  • Django 项目模块化开发指南:实现 Vue 风格的组件化
  • 基础工具常用api汇总(机器学习)
  • modbus 协议的学习,谢谢老师
  • 字节跳动系统攻防算法岗-Flow安全内推
  • 网站建设交印花税/商品推广
  • 沧州网站排名优化/友情链接怎么连
  • 用asp做网站的可行性分析/网络运营培训课程
  • 凡科这样的建站网站/网站优化课程
  • 梧州论坛手机红豆网/搜索引擎seo排名优化
  • 大良营销网站建设流程/推广运营是做什么的