远程服务器管家:在 DSH Web UI 里通过 SSH 管理 Linux 主机

前言

在 DeepSeek Harness 里做智能体或日常运维时,常见做法是本地终端 SSH 进服务器,再分别打开 Docker、防火墙和 apt 源配置。对话里想让模型「帮你看一下某台机器上的容器」,往往还要手动粘贴主机信息或反复说明连接方式。远程服务器管家(dsh-remote-server-manager)把多台 Linux 服务器的连接、文件、容器、镜像、防火墙、软件探测和 apt/Docker 源配置收进 Harness 左侧活动栏的一个持久化插件面板,并通过 @ 服务器引用与 remote_server 工具把同一套能力接到对话里。

下面介绍插件定位、已文档化的功能、安装步骤和典型用法;涉及写操作与权限的部分一并说明,便于安装前评估。

这是什么

远程服务器管家是维护者 cnHuaShao 发布的 DSH 插件,npm 包名 dsh-remote-server-manager,当前资料中的版本为 1.4.0,许可证 MIT。社区目录分类为 admin-security,目录页:SkillHub 插件页,源码与说明:GitHub 仓库。

一句话定位:安装在本机 Harness Web UI 里,通过 SSH 连接 Linux 服务器,在同一面板管理远程文件、查看主机状态、管理防火墙、探测开发/部署软件,并停止/重启 Docker 容器;针对「单台服务器上容器很多」的场景,列表、搜索、项目分组、分页和批量操作在服务端完成。

核心功能

服务器与主机总览

  • 新增、编辑、删除多台 SSH 服务器;支持密码和私钥登录。连接信息保存在当前 DSH profile;密码/私钥写入 Harness 凭据服务,不出现在前端或 servers.json。
  • 总览页展示操作系统、运行时长、当前用户、磁盘、内存、Docker 版本、运行中容器数、SSH 主机 SHA-256 指纹(trust-on-first-use,指纹变化会拒绝连接并返回 host_key_changed)。

文件管理

目录浏览、路径跳转、面包屑、隐藏文件开关、名称过滤;新建目录、重命名、递归删除、上传(≤ 24 MB)、下载、文本在线编辑(≤ 2 MB,带 expectedMtime 冲突检测)。依赖远端 SFTP;二进制文件仅支持下载。

容器与镜像

  • 容器:一次 docker ps -a 拉取全部容器,在主机侧搜索、按状态/Compose 项目过滤、排序、分页(25/50/100/200,默认 50);当前页多选批量停止/重启(最多 4 并发);单容器启停/重启与详情;4 秒缓存 + 手动刷新 + 15/30/60 秒自动刷新。暂不提供删除容器入口。
  • 镜像:独立「镜像」页,按仓库/标签/ID 搜索,区分有标签与悬空镜像,分页与排序;顶部统计总数、有标签数、悬空数、大小合计(按镜像大小求和,非层去重磁盘占用)。不提供删除/拉取镜像;「Docker 源」可查看并修改 /etc/docker/daemon.json 的 registry-mirrors(DaoCloud、1Panel、中科大或自定义 https 地址),保存前二次确认,自动备份并重启 Docker,失败回滚。

防火墙

独立「防火墙」页,识别 firewalld、ufw,nftables/iptables 只读展示。支持开放 TCP/UDP 端口、firewalld 服务放行/移除、删除 ufw 规则、重载;ufw 未启用时可展示暂存规则,确认后可先自动放行当前 SSH 端口再启用。SSH 端口与 ssh 服务默认受保护;写操作需 root 或免密 sudo,否则只读。

安装探测与软件源

  • 安装探测:一次性检查 Node.js、Python、Java、Go、Docker、kubectl、Nginx、数据库等常见开发与部署软件是否安装及版本;apt 系统上可读候选版本,未安装可「一键安装」、可升级项可「一键升级」(二次确认,内置 apt 包名,不接受任意命令)。结果缓存 5 分钟,点刷新强制重读。
  • 软件源(仅 apt):查看发行版与官方源,一键 apt-get update,或切换至阿里云、清华 TUNA、中科大等镜像;只改 Ubuntu/Debian 主仓库 URL,第三方源不动;备份 /etc/apt 下源文件,失败恢复。

对话集成

  • 输入 @ 选择「服务器」分组中的已保存服务器,消息中带名称、地址和 id。
  • 工具 remote_server 支持列出服务器、总览、容器/镜像查询与分页、防火墙与安装软件探测、读目录与文本文件、在用户明确要求时启停/重启容器。防火墙写操作、软件安装/升级、软件源与 Docker 源修改仅通过 UI,避免模型误改。
  • 界面语言跟随 Harness,内置 zh / en。

安全与数据位置(摘要)

HTTP 接口前缀 /remote-server-manager,复用 Harness 的 Host/Origin 与浏览器认证检查。服务器列表:$DSH_PROFILE_DIR/remote-server-manager/servers.json(权限 0600);凭据引用名形如 DSH_RSM_<SERVER_ID>_PASSWORD。详见 README「安全设计」与「已知限制」。

安装与启用

推荐从 npm 安装:

plugin_manager install_bundle  target: dsh-remote-server-manager

也可从 GitHub 安装:

plugin_manager install_bundle  target: https://github.com/cnHuaShao/dsh-remote-server-manager

或在 Harness 插件管理里搜索/安装 dsh-remote-server-manager。安装后刷新 Web UI,左侧活动栏会出现「远程服务器管家」图标。

本地开发时,在插件目录执行(示例路径按你的环境替换):

plugin_manager install_bundle  target: D:\path\to\remote-server-manager

典型用法

  1. 打开左侧「远程服务器管家」,点右上角 + 填写名称、主机、端口、用户名与认证方式。
  2. 保存后点「测试」确认 SSH 与 Docker 可用;首次连接记录主机指纹。
  3. 在「容器」页搜索、按 Compose 项目过滤、分页与批量操作;镜像与 Docker 源在「镜像」页;防火墙与安装探测在对应独立页。
  4. 「文件」页跳转路径,文本文件点击文件名在线编辑;「总览」「日志」查看状态与近期操作。
  5. 对话里输入 @ 引用服务器,或说明服务器名称让模型通过 remote_server 的 list 定位;查看类操作可由模型调用工具,容器变更需用户明确要求。

若 SSH 用户执行 Docker 需要 sudo,将配置改为 sudo docker;命令仅允许字母、数字及 _ . / 空格 -,避免 shell 注入。

适用场景与注意

适合:在 Harness 里维护少量到多台 Linux 服务器、需要集中看容器/镜像/防火墙/常见 devops 软件是否就绪,并希望在对话中引用固定服务器做只读或受控容器操作的开发者与运维。

安装前建议:插件以当前 DSH 进程权限运行,会通过 SSH 在远端执行文档描述的操作(含 apt、防火墙、Docker 重启等)。安装前应阅读 仓库源码与 LICENSE,确认凭据存储与接口范围可接受。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。

已知限制(节选):不支持 SSH Agent、跳板机、键盘交互认证;镜像/容器无删除与拉取入口;防火墙写操作仅 firewalld/ufw;一键安装/升级仅 apt 且仅内置包名;Docker 源只改系统级 daemon.json 的 https 镜像列表;ufw 启用前会放行当前 SSH 端口但仍可能影响其他端口,且插件不提供关闭防火墙。

结尾

远程服务器管家把 SSH 运维与 Docker 日常操作放进 DSH 面板,并用引用与 remote_server 对齐对话场景,同时把高风险写操作限制在 UI。进一步了解可访问 SkillHub 目录页 与 GitHub README。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜