news 2026/8/8 1:03:57

解决堡垒机会话频繁断开:使用 Tampermonkey 脚本自动保活

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决堡垒机会话频繁断开:使用 Tampermonkey 脚本自动保活

🛡️ 解决堡垒机会话频繁断开:使用 Tampermonkey 脚本自动保活

适用场景​:运维、安全审计、远程办公等需要长时间保持 Web 堡垒机(Bastion Host)会话的场景。
问题​:堡垒机因“无操作”在 5~10 分钟内自动登出,严重影响工作效率。
解决方案​:通过浏览器油猴脚本(Tampermonkey)模拟用户活动,实现“静默保活”。


🔧 一、为什么需要保活?

大多数企业级堡垒机(如 JumpServer、阿里云云堡垒机、自研系统等)出于安全考虑,会设置 ​会话空闲超时机制​(例如 5 分钟无操作自动登出)。

但实际工作中,我们可能:

  • 需要长时间查看日志
  • 等待命令执行结果
  • 多窗口协作操作

频繁重新登录不仅打断工作流,还可能丢失上下文。


🛠 二、解决方案:Tampermonkey 模拟用户活动

✅ 优势

  • 无需刷新页面​(避免重新登录)
  • 完全前端实现​,不依赖后端
  • 免费、开源、本地运行
  • 仅作用于指定域名​,安全可控

📝 三、操作步骤

步骤 1:安装 Tampermonkey 插件

  • Chrome / Edge 用户访问:https://www.tampermonkey.net/
  • 点击 “Add to Chrome” 安装
  • 安装后浏览器右上角会出现 🐒 图标

步骤 2:创建保活脚本

  1. 点击 Tampermonkey 图标 → 选择“创建新脚本”
  2. 删除默认内容,粘贴以下代码:
// ==UserScript==// @name Bastion Keep-Alive// @namespace http://tampermonkey.net/// @version 1.0// @description 在堡垒机页面定时模拟用户活动,防止会话超时断开// @author Your Name// @match https://10.99.XX.XX/*// @grant none// ==/UserScript==(function(){'use strict';// 设置保活间隔(建议小于堡垒机超时时间,例如4分钟)constINTERVAL=4*60*1000;// 4分钟functionsimulateActivity(){try{console.log('🛡️ [Keep-Alive] 模拟用户活动 at',newDate().toLocaleTimeString());// 触发 mousemove 事件(多数系统以此判断活跃)document.dispatchEvent(newMouseEvent('mousemove',{view:window,bubbles:true,cancelable:true,clientX:Math.random()*100,clientY:Math.random()*100}));}catch(e){console.warn('⚠️ Keep-Alive 脚本异常:',e.message);}}// 立即执行一次 + 定时循环simulateActivity();setInterval(simulateActivity,INTERVAL);})();

⚠️ ​重要​:请将@match行中的https://10.99.XX.XX/*替换为你实际的堡垒机地址。

  • 如果使用 HTTP,添加// @match http://your-ip/*
  • 如果带端口(如 :8443),写成https://10.99.XX.XX:8443/*
  1. Ctrl+S保存脚本

步骤 3:验证脚本是否生效

  1. 打开你的堡垒机页面(如https://10.99.XX.XX/client/...
  2. F12打开开发者工具 → 切到Console标签
  3. 观察是否每隔 4 分钟出现如下日志:
    🛡️ [Keep-Alive] 模拟用户活动 at 14:30:22
  4. 同时检查 Tampermonkey 图标是否亮起(表示脚本已注入)

✅ 出现日志 → 脚本正常运行!会话将不再因“无操作”而断开。


⚠️ 四、注意事项

  1. 遵守公司安全策略
    自动保活可能违反部分企业的安全规定,请确保你有权限使用。
  2. 不要设置过短间隔
    建议保活间隔为超时时间的 70%80%(如超时 5 分钟,设为 34 分钟)。
    避免高频操作被系统判定为异常行为。
  3. 某些系统需更强交互
    如果mousemove无效,可尝试增加键盘事件:
    document.dispatchEvent(newKeyboardEvent('keydown',{key:'Control'}));
  4. IP 地址变更需更新脚本
    若堡垒机 IP 或端口变化,记得同步修改@match规则。

💡 五、进阶建议

  • 多环境支持​:可添加多个@match行,覆盖测试/生产环境。
  • ​**视觉反馈(调试用)**​:临时加document.body.style.boxShadow = '0 0 10px red'看是否触发。
  • 结合 AutoHotkey​:若浏览器插件受限,可用桌面自动化工具辅助。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 19:24:37

全球创始人IP+AI万人峰会:赋能与精神滋养并重,引领2026增长新范式

2025年11月22日至25日,创客匠人在厦门海峡大剧院成功举办第三届全球创始人IPAI万人高峰论坛。本届大会以“AI驱动未来,IP重构价值,联盟共创格局”为主题,汇聚了来自全球的万余名创业者、行业领袖及专家学者,共同探索AI…

作者头像 李华
网站建设 2026/8/7 22:56:22

基于Web的客户关系管理系统的设计与实现开题报告(1)

郑州工程技术学院2025届毕业设计(论文)开题报告学院:信息工程学院 专业:软件工程 论文(设计)题目基于Web的客户关系管理系统的设计与实现 学生姓名班…

作者头像 李华
网站建设 2026/8/7 22:56:55

三菱FX PLC下载线驱动安装终极指南:快速解决通信连接问题

三菱FX PLC下载线驱动安装终极指南:快速解决通信连接问题 【免费下载链接】三菱FX系列PLC下载线驱动程序 该项目为三菱FX系列PLC提供了专用的USB通信线驱动程序,适用于USB-SC09下载线,旨在帮助用户高效完成PLC程序的下载与上传操作。驱动程序…

作者头像 李华
网站建设 2026/8/7 22:56:57

NetAssistant:终极网络调试解决方案的完整指南

NetAssistant:终极网络调试解决方案的完整指南 【免费下载链接】NetAssistant A UDP/TCP Assistant. 网络调试助手 项目地址: https://gitcode.com/gh_mirrors/ne/NetAssistant 在当今复杂的网络环境中,开发者需要一个强大而灵活的工具来应对各种…

作者头像 李华
网站建设 2026/8/7 22:07:49

013的加密世界权威指南_第一部分

第一章:区块链的核心结构——分层概念理解区块链分层是看懂整个行业格局的钥匙。1.1 Layer 1 (L1):基础公链层 (主干高速公路)定义:指区块链网络本身,是系统的基础和最终的安全保障。功能:负责处理和验证所有交易&…

作者头像 李华
网站建设 2026/8/7 22:08:05

完整指南:5大核心特性带你玩转Font Awesome 7

完整指南:5大核心特性带你玩转Font Awesome 7 【免费下载链接】Font-Awesome The iconic SVG, font, and CSS toolkit 项目地址: https://gitcode.com/GitHub_Trending/fo/Font-Awesome Font Awesome 7作为业界领先的图标库和工具集,已经全面发布…

作者头像 李华