做了一个用于连接 JumpServer 的本地 ssh 工具,通过 JumpServer apikey 创建 ssh 连接,从此不用频繁登录使用 web ssh

zhangyunan 2026-08-26 11:18 1

图片


连接与资产



  • 访问密钥登录:通过 JumpServer URL 、KeyID 、SecretID 调用 /api/v1/users/profile/ 完成验证并获取用户信息。

  • 资产列表展示:拉取当前用户有权限的 Linux 资产,按树形接口过滤展示在左侧侧边栏。

  • 资产搜索:左侧列表支持按标题、地址、标签实时模糊搜索。

  • 资产拖拽排序:鼠标拖动资产项即可调整顺序,排序结果自动持久化。

  • 资产标签:为任意资产添加自定义标签,标签会参与搜索过滤并持久化保存。

  • 连接状态指示:资产项与终端 Tab 上均会显示绿色/灰色的连接状态圆点。


多标签终端



  • 多标签 SSH:双击/单击资产即新建一个 SSH 终端标签,可同时连接多台服务器。

  • 标签栏交互:支持左右滚动按钮、鼠标滚轮、空白处按住拖动三种方式滚动标签;支持拖拽排序、中键关闭、激活态高亮与自动滚动到可见区域。

  • 终端自适应:基于 xterm.js + FitAddon ,窗口 resize 或侧边栏拖动时通过 ResizeObserver 防抖后自动 fit ,并将新尺寸同步到远端 PTY ,避免乱码。

  • 终端内容搜索Ctrl/Cmd + F 打开搜索栏,支持下一个/上一个、区分大小写、增量搜索与高亮计数。

  • Web 链接可点击:通过 WebLinksAddon 让终端中的 URL 可直接点击打开。

  • Unicode 11:加载 Unicode11Addon 以正确处理宽字符与 emoji 宽度。


github: https://github.com/zhangyunan1994/jumpserver-client

最新回复 (3)
  • ShineyWang 08-26 12:18
    1
    这不还是网页吗?
    和原版网站有什么区别?
  • keepfun 08-26 13:59
    2
    我们公司用的 jumpserver 但是需要飞书验证,才能到堡垒机。麻烦很。你这个适用么?
  • zhangyunan 楼主 08-26 14:28
    3
    @ShineyWang 这个技术上确实用了 Tauri 2 + Vue 3 + webview, 普遍认为是网页套壳。主要区别 1. 不用频繁的登录 jumpserver ,部分公司出于合规考虑会限制单次登录时长,比如 3 小时必须登录一次; 2. 套壳的客户端本质上可以脱离浏览器使用; 3. 多了快捷指令(把常用的命令配置一下,后面可以直接点标签执行),广播指令(在当前所有打开终端中批量执行同一个命令)


    @keepfun 具体可以自己试试,我公司用的 JumpServer 社区版 GPLv3 v3.10.21 ,不确定你们版本是否有可用,这个不需要登录,是需要在你正常登录后,从 个人信息 / API Key 下生成一个 apikey, 然后打开应用填写 apikey 使用,代码全部开源了,可以让 ai 分析代码然后本地打包测试一下
* 帖子来源V2EX
返回