lance-kanglu/dsh-ssh-bridge ↗★ 0
dsh-ssh-bridge
用于 DeepSeek Harness (DSH) 的本地 SSH 桥接器:用户在浏览器页面中输入路由器密码,Agent 通过本地 API 运行命令——密码绝不进入对话。
AI 分析
核心用途是让 Agent 能够安全地在远程主机上执行 SSH 命令。适合需要 AI 协助运维、管理服务器,同时要求密码不泄露给大模型的高级用户。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lance-kanglu/dsh-ssh-bridge说明文档
阅读完整 README ↗使用说明
浏览器页面
- 打开
http://127.0.0.1:23991,输入目标主机 (user@host[:port]) 与密码,点「连接」或回车; - 状态变为「已连接」后,下方输入框即目标主机的交互终端 (支持 ANSI 颜色渲染),标题栏出现「断开连接」按钮;
- 在终端输入
exit会结束整个 SSH 会话 (与常规 SSH 客户端一致);也可点「断开连接」按钮; - 断开后目标主机保留、密码清空,可重新输入密码连接;
- 页面底部日志面板实时显示连接与请求状态,出错时可见具体原因。
命令执行 API (供代理 / 脚本调用)
每次启动生成随机 token 并打印在启动日志 ([ssh-bridge] token=xxxx),调用以下接口需携带:
| 接口 | 方法 | 参数 | 说明 |
|---|---|---|---|
/api/auth | POST | {password, target?} | 提交目标与密码建立 SSH 连接 (密码不写日志、不落盘;目标格式 user@host[:port]) |
/api/exec | POST | {cmd, token} | 在目标主机执行一条命令,返回 {code, stdout, stderr} |
/api/input | POST | {line, token} | 向交互终端写入一行命令 (写 exit 会结束整个会话) |
/api/ping | POST | {token} | 查询连接状态 {ok, connected} |
/api/disconnect | POST | {token} | 断开 SSH 连接 (等价于页面「断开连接」按钮) |
/api/reconnect | POST | {token} | 复用页面认证时保存的凭据重新连接;未认证过返回 409 |
示例 (PowerShell):
$body = @{ token = ''; cmd = 'uname -a' } | ConvertTo-Json
Invoke-RestMethod -Uri http://127.0.0.1:23991/api/exec -Method Post -ContentType 'application/json' -Body $body
安全: 服务只监听
127.0.0.1,外部网络无法访问;密码只在浏览器 → 本机进程 → SSH 加密通道之间流转。 注意: 端口23991被占用时自动顺延 (23992、23993...),以启动日志为准。 提示: 更新页面代码后需强制刷新 (Ctrl+F5) 避免旧缓存;交互终端需在真实 SSH 会话中使用,网页终端仅回车可用。