← 返回列表
未验证
一条隧道打通多台远程实例,一键切换控制台
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/2 · 已提供中文文档
Manage multi-IP DSH instances from one terminal via SSH tunnels · 在一台终端上通过 SSH 隧道管理多 IP 的 DSH
综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ljh220300-eng/dsh-plugin-ssh-manager该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-plugin-ssh-manager
从单个 DSH 终端通过 SSH 隧道管理运行在多台机器(多 IP)上的 DSH 实例。
在一台终端上通过 SSH 隧道管理多台机器(多 IP)上的 DSH。
- 每个配置的远程主机会从本机建立一条 ssh -N -L 隧道,连接到
远程 DSH Web 服务器(远程侧的 127.0.0.1:)。
- 每台主机都会被分配一个稳定的本地端口(默认 21300–21399,或
你指定的端口),因此远程控制台始终可以通过
http://127.0.0.1: 访问。
- 主机可以在启动时自动连接,并以退避策略自动重连。
- 两个界面:一个侧边栏快捷菜单(远程 DSH),列出主机并
一键打开远程控制台;以及位于
设置 → SSH 隧道主机下的完整管理页面(添加 / 编辑 / 删除 / 连接 / 断开连接)。
- 还注册了一个模型工具 ssh_manager,因此智能体本身可以
按请求对隧道执行 list / status / connect / disconnect / open。
安装 / 安装
安装到 dsh 配置文件中(此应用运行的配置文件,通常是 web):
dsh plugin --profile web add github:ljh220300-eng/dsh-plugin-ssh-manager
或者在配置文件目录内使用普通的 pnpm:
pnpm -w add github:ljh220300-eng/dsh-plugin-ssh-manager
本地开发时改用路径规范
(dsh plugin --profile web add file:F:/work/dsh-plugin-ssh-manager)。
安装后,重启应用(宿主部分在启动时加载)并刷新
页面(客户端部分)。dsh plugin 命令会自动为你协调
dsh.profile.bundles 层列表。
认证 / 认证
- 密钥(推荐 / 推荐) — ssh-agent(默认)或显式的
身份文件。需要密钥位于 ssh agent 上或给定路径处;
首次使用远程主机时会自动接受其主机密钥
(StrictHostKeyChecking=accept-new)。在设置表单中,选择文件 /
选择文件 会直接从你的文件系统导入私钥 —
内容会被上传到本地插件存储
($DSH_HOME/plugins/ssh-manager/keys/,每个唯一密钥内容一个文件,
权限 0600),并为你填充路径字段;当该密钥的最后一个主机被删除时,
该文件也会被移除。手动输入主机侧路径
仍然有效。
- 密码(密码) — 通过插件在其配置旁生成的 SSH_ASKPASS 包装器
提供支持;密码存储在
$DSH_HOME/plugins/ssh-manager/hosts.json(文件权限 0600)中,并仅通过环境变量
传递给 ssh — 它绝不会出现在进程命令行中。
需要 OpenSSH ≥ 8.4(SSH_ASKPASS_REQUIRE);在较旧的客户端上请改用
密钥认证。
配置 / 配置
- 注册表:$DSH_HOME/plugins/ssh-manager/hosts.json
(除非设置了 DSH_HOME,否则为 ~/.dsh/plugins/ssh-manager/hosts.json)。
- 每个远程主机一条记录:
{
"name": "lab-01",
"sshHost": "192.168.1.10",
"sshPort": 22,
"sshUser": "root",
"authMethod": "key",
"identityFile": "C:\\Users\\me\\.ssh\\id_ed25519",
"passphrase": "",
"remoteHost": "127.0.0.1",
"remotePort": 3080,
"localPort": null,json
"autoConnect": true
}
- remotePort 是远程 DSH Web 服务器监听的端口
(dsh web 默认为 3080;桌面应用会自行选择端口——请查看
远程机器的 GUI URL)。
- remoteHost 是通过 ssh 在远程侧访问的绑定地址;
当 DSH 运行在 ssh 主机本身上时,保持为 127.0.0.1。
- 支持受口令保护的密钥:passphrase 通过与密码相同的
SSH_ASKPASS 机制来应答(仅限环境变量)。
要求 / 依赖
- 本机上需有 OpenSSH 客户端(ssh)——Windows 将其作为
可选功能提供(设置 → 可选功能 → OpenSSH 客户端);该插件还会
探测 C:\Windows\System32\OpenSSH\ssh.exe 和 /usr/bin/ssh。
- 无需额外的 npm 依赖;它针对 dsh
配置文件已提供的包运行(@deepseek-ai/dsh-tools、
@deepseek-ai/dsh-home-paths)。
许可证
MIT扫码进群