2.1.6
Important
【必须操作】
2.1.6 是针对上游 Agent 通信机制遗留 Bug 的安全修复。升级后,请在每个节点点击“重置 Token”后的 24 小时内重新安装/部署对应 Agent。请先升级 Komari Server/Web 2.1.6,再升级 Agent 2.1.61,最后在后台逐个重置节点 Token;重新执行更新后的部署指令即可,无需先手动卸载,节点和历史监控数据不会删除。仅等待 Agent 自动更新不够,因为自动更新不会修改服务或容器中的 Token。新 Token 首次成功连接后,旧 Token 会立即失效。
安全隐患:上游旧通信机制曾把真正具备认证能力的 Agent Token 放在 URL 查询参数中,可能被反向代理访问日志、网关日志或故障采集系统记录;旧 V1 上报还曾优先信任正文中的 UUID。Token 一旦泄露,攻击者可冒充对应 Agent、伪造监控和任务结果、占用节点连接,并截获 Server 待下发的探测、配置或远程任务。
2.1.6 安全修复
- Agent 的主 WebSocket、V2 POST 回退、基础信息、探测结果、任务结果、旧终端和新远程管理全部改用
Authorization: Bearer请求头,不再把 Agent Token 写入公网 URL。 - Server 的 V1/V2 上报、基础信息和控制连接统一以 Token 认证后得到的节点身份为准,忽略上报正文伪造的 UUID,阻止持有任意节点 Token 后跨节点注入数据。
- 远程管理页面固定使用
/terminal,节点 UUID 通过新窗口的一次性会话存储传递并立即删除;远程会话 ID 改由 WebSocket 首帧或专用请求头传递,不再进入浏览器历史、Referer 和代理 URL 日志。 - 新增节点 Token 安全重置:新旧 Token 最多并存 24 小时,新 Token 首次认证后自动撤销旧 Token;过渡期内重复重置时提供明确中文提示。
- 节点列表重置入口默认只显示图标,悬停时展示“重置 Token”,避免操作区拥挤。
2.1.6 远程管理完善
- 手机端新增命令输入栏并支持中文输入法;远程标签支持拖动排序,命令剪贴板编辑不再被定时刷新重置。
- 修复手机端缩放后无法拖动,以及拖动终端时被误判为点击并弹出键盘的问题。
- 修复 iPhone 等手机首次打开远程终端时页面被自动放大的问题;移动端终端字号和内边距使用紧凑上限,命令输入保持 16px 以阻止 iOS Safari 聚焦缩放,桌面端自定义设置保持不变。
- 文件管理新增右键新建、复制、粘贴、重命名、删除,以及单击、Ctrl/Command、Shift 和拖动框选多选。
- 修复启用拖动框选后双击文件夹无法进入的问题。
- Server 与 Agent 新增
file.copy,支持文件和目录复制,并记录远程操作审计。。 - 统一桌面终端滚动条,移除重复滚动条;修复手机端终端最下面一行被命令输入栏遮挡。
- 修复终端连接反复重建、命令输入被打断,以及新建标签尺寸不一致的问题。
2.1.6 更新与兼容性修复
- 修复部分旧版 systemd 的
systemd-run不支持--no-block,导致 Komari 自动更新报错的问题;仅在确认该参数不受支持时自动降级重试,其他启动失败仍原样返回。 - 兼容 CentOS 7.6 / systemd 219 等旧环境不接受
Restart/RestartSec临时单元属性的情况;不按系统版本硬编码,仅在返回未知、不支持或无效 assignment/property 的同类错误时去掉这两个可选参数重试,权限、路径、总线等其他故障不会被掩盖。 - Agent 2.1.61 修复稳定版自动更新,固定从
nuomiiiii/komari-agent选择最高稳定版本和当前架构文件;Release 文件尚未构建完成时 15 分钟后重试。
2.1.5 主要更新内容
- 新增安全远程管理入口,管理员可以在 Web 页面直接连接 Agent 终端,并在同一窗口通过标签页同时管理多台服务器;同一服务器也可复制为多个独立会话。
- 新增完整文件管理,支持目录浏览、新建、重命名、递归删除、批量上传、拖拽上传、覆盖确认和下载。
- 远程会话使用一次性浏览器票据与 Agent 票据,票据有效期 45 秒,并绑定管理员账号、登录 Session、目标节点和同源 WebSocket;单次会话最长 2 小时。
- 首次进入远程管理时会先完成 2FA 验证,再打开终端工作区;通过后 10 分钟内复用验证结果。
发布与兼容性
- 程序内版本为 2.1.6 (u21eqa2);Git 标签、GitHub Release 标题和 Docker 标签仅使用 2.1.6。
- Docker 镜像提供 linux/amd64 与 linux/arm64,并同步更新 latest。
Docker 拉取
docker pull ghcr.io/nuomiiiii/komari:2.1.6
Linux 一键安装
curl -fsSL https://raw.githubusercontent.com/nuomiiiii/komari/main/install-komari.sh -o install-komari.sh
chmod +x install-komari.sh
sudo ./install-komari.sh
完整变更记录:2.1.5...2.1.6