🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

远端 sudo 面板 seudut/dsh-remote-sudo

DeepSeek Harness
seudut14 天前有提交已提供中文文档扫描:含敏感能力

在输入框安全输入密码,经 SSH 执行远端 root 命令

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add seudut/dsh-remote-sudo
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 14 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
  • 执行外部命令固定命令
    index.js:176
    return spawn('ssh', ['-o', 'BatchMode=yes', '-o', 'ConnectTimeout=10', host, remote], { stdio })
  • 发起网络请求
    client.js:184
    const response = await fetch(`${BASE}/answer`, {
  • 发起网络请求
    client.js:206
    const response = await fetch(`${BASE}/cancel`, {
  • 发起网络请求
    client.js:407
    const response = await fetch(`${BASE}/pending?${query}`, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DSH 输入框里索要 sudo 密码,通过 SSH 执行远程 root 命令,密码不会写进对话记录。

README

由 DeepSeek 最新模型翻译生成
dsh-remote-sudo DSH 的远端 sudo 密码面板:在输入框位置弹出,密码只走 stdin,不进对话、工具参数、环境变量或磁盘。 A composer-hosted sudo password prompt for DeepSeek Harness: the password goes to the remote sudo over stdin and never enters the transcript, tool arguments, environment, or disk. 中文 · English DSH composer sudo password panel 功能 - composer 面板:接管输入框,显示主机、命令、密码;Enter 提交,Esc 取消。 - 单一缓存开关:passwordTtlMs: 0 每次都要密码;正整数时密码只在宿主内存保留该时长。 - 不依赖 sudo ticket:每次执行后 sudo -k,不假设 ticket 能跨 ssh 复用。 - 自动探测 sudo:先试常见绝对路径,再用 command -v sudo 兜底。 - 中英文:跟随 DSH 语言;root 命令的 stdin 固定 /dev/null。
展开完整文档(README 剩余 1 节)
dsh-remote-sudo

DSH 的远端 sudo 密码面板:在输入框位置弹出,密码只走 stdin,不进对话、工具参数、环境变量或磁盘。

A composer-hosted sudo password prompt for DeepSeek Harness: the password goes to the remote sudo over stdin and never enters the transcript, tool arguments, environment, or disk.

中文 · English

DSH composer sudo password panel

功能

- composer 面板:接管输入框,显示主机、命令、密码;Enter 提交,Esc 取消。
- 单一缓存开关:passwordTtlMs: 0 每次都要密码;正整数时密码只在宿主内存保留该时长。
- 不依赖 sudo ticket:每次执行后 sudo -k,不假设 ticket 能跨 ssh 复用。
- 自动探测 sudo:先试常见绝对路径,再用 command -v sudo 兜底。
- 中英文:跟随 DSH 语言;root 命令的 stdin 固定 /dev/null。

安装

从 npm(推荐):

dsh plugin --profile desktop add dsh-remote-sudo

从 GitHub:

dsh plugin --profile desktop add github:seudut/dsh-remote-sudo#v0.1.0

或在插件管理器里选“从 Git 仓库安装”,填 github:seudut/dsh-remote-sudo#v0.1.0。

然后在 profile 的 cordis.patch.yml 加入:

- insert:
- id: sudo-askpass
name: 'dsh-remote-sudo'

重启 DSH。前置条件:ssh <host> 能密钥登录。

插件管理器安装会同时处理 bundle 选择;命令行安装需要手动加这一行。本地开发时,把 github:... 换成插件目录的绝对路径即可。

配置

config:
passwordTtlMs: 0 # 0 = 每次都要密码;正整数 = 内存缓存毫秒数

| 键 | 默认 | 说明 |
| passwordTtlMs | 0 | 0 = 每次都要密码;正整数 = 密码在宿主内存保留的毫秒数 |

使用

让智能体调用 remote_sudo:

用 remote_sudo 在 aliyun 上执行 apt-get update

| 参数 | 必填 | 说明 |
| host | 是 | ~/.ssh/config 别名 |
| command | 是 | 远端 root 命令 |
| description | 否 | 面板里的短标签 |

需要密码时弹面板;passwordTtlMs 内不重复弹;取消/停止会结束调用。

安全边界

- 能挡:argv、环境变量、shell history、工具参数、对话记录、远端磁盘、SSH 明文传输。
- 挡不住:浏览器插件域(任何 client 插件都能读输入)、宿主内存、本机回环 HTTP、被入侵的远端、JS 内存残留、单因子。
- 建议:专用 sudo 密码;Web UI 只绑 loopback 或上 HTTPS;需要更强隔离时用原生 askpass、Touch ID 或 scoped NOPASSWD。

限制

- 只支持 SSH 远端,不支持本机 root。
- 没有内置超时:密码等待和命令执行都会一直阻塞,直到回答/取消/ssh 结束。
- 取消/停止只杀本地 ssh,远端进程不保证停止;需要硬上限时在远端命令里用 timeout。
- 同时只展示一个 prompt;远端需 POSIX shell + sudo。

开发

npm test
node test/real-host-probe.mjs # 手动:真实主机 + 错误密码验证链路

Features

- Composer panel: takes over the input box with host, command, and password; Enter submits, Esc cancels.
- One cache knob: passwordTtlMs: 0 asks every call; a positive value keeps the password in host memory for that window.
- No sudo ticket reuse: runs sudo -k after every command and never assumes a no-TTY ticket survives across ssh.
- Auto-detect sudo: common absolute paths first, then command -v sudo.
- Bilingual: follows the DSH locale; the root command's stdin is always /dev/null.

Install

From npm (recommended):

dsh plugin --profile desktop add dsh-remote-sudo

From GitHub:

dsh plugin --profile desktop add github:seudut/dsh-remote-sudo#v0.1.0

Or use the plugin manager's "install from Git repository" with github:seudut/dsh-remote-sudo#v0.1.0.
接着把这一行加到配置档的 cordis.patch.yml 里:

- insert:
- id: sudo-askpass
name: 'dsh-remote-sudo'

重启 DSH。需要基于密钥的 ssh <host> 访问。

插件管理器也会选择 bundle;用命令行安装时,需要手动加这一行。本地开发时,把 github:... 这个 spec 换成 checkout 的绝对路径。

配置

config:
passwordTtlMs: 0 # 0 = ask every call; positive = in-memory TTL in ms

| 键 | 默认值 | 含义 |
| passwordTtlMs | 0 | 0 表示每次调用都询问;正数表示内存中密码的 TTL,单位毫秒 |

用法

让智能体调用 remote_sudo:

用 remote_sudo 在 aliyun 上执行 apt-get update

| 参数 | 必填 | 含义 |
| host | 是 | ~/.ssh/config 里的 SSH 别名 |
| command | 是 | 要在远端执行的 root 命令 |
| description | 否 | 面板上显示的简短标签 |

需要密码时面板会弹出;在 passwordTtlMs 时间内不会再次询问。取消或停止会结束本次调用。

安全

- 受保护:argv、环境变量、shell 历史、工具参数、对话记录、远端磁盘、明文传输。
- 不受保护:浏览器插件运行环境(任何客户端插件都能读到输入)、宿主机内存、回环 HTTP、已被攻陷的远端、JS 内存残留、单一因素。
- 建议:用专用的 sudo 密码;把 Web UI 绑定到回环地址或改用 HTTPS;需要更强隔离时,用原生 askpass、Touch ID 或限定范围的 NOPASSWD。

限制

- 只支持远程 SSH,不支持本地 root。
- 没有内置超时:等待密码和执行命令都会一直阻塞,直到有人应答、取消,或 ssh 退出。
- 取消或停止会杀掉本地 ssh,但不保证远端进程停止。需要硬性限制时,在远端命令里用 timeout。
- 一次只处理一个提示;远端必须是 POSIX 系统并装有 sudo。

开发

npm test
node test/real-host-probe.mjs # manual: real host + wrong password

许可证

MIT
预览分享卡片长什么样 ↓seudut/dsh-remote-sudo
分享 · DeepSeek Harness Hub
seudut/dsh-remote-sudo

在输入框安全输入密码,经 SSH 执行远端 root 命令

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部