爱意满满的作品展示区。
zhangyunan

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

  •  
  •   zhangyunan · 20h 14m ago · 465 views

    图片

    连接与资产

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


    @keepfun 具体可以自己试试,我公司用的 JumpServer 社区版 GPLv3 v3.10.21 ,不确定你们版本是否有可用,这个不需要登录,是需要在你正常登录后,从 个人信息 / API Key 下生成一个 apikey, 然后打开应用填写 apikey 使用,代码全部开源了,可以让 ai 分析代码然后本地打包测试一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1137 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:33 · PVG 07:33 · LAX 16:33 · JFK 19:33
    ♥ Do have faith in what you're doing.