READMESource: main@6becbf76
@deepwhale-cn/dsh-ssh-console
侧栏里的 SSH 控制台:列出 ~/.ssh/config 的主机、执行远程命令、每一次执行(含被拒绝的)都留审计。
关键词:SSH · 远程运维 · 审计 · 危险命令确认 · DeepSeek Harness 插件
为什么要有它
agent 要能碰远端机器,但「另开一条 ssh 通道」的通常做法有三个问题:你看不到它敲了什么、 必须由人完成的交互(密码 / sudo / 指纹)没地方做、事后没有可回看的记录。
这个插件给出的是一条受控、可审计的执行通道 —— 不做花哨的共享 PTY,而是把边界写死:
- 主机白名单:默认只允许
~/.ssh/config里的别名;确需任意user@host时显式设DSH_SSH_ALLOW_ANY=1 - 只走密钥:
BatchMode=yes,需要密码会明确报错 —— 不诱导你把密码写进配置或插件 - 危险命令二次确认:
rm -rf/mkfs/dd/shutdown/chmod 777/ 强推 /npm publish等命中即返回「需要确认」,带confirm=true才执行 - 全量审计:每次执行、拒绝、待确认都写
~/.dsh/ssh-console-audit.jsonl
面板
| 区域 | 内容 |
|---|---|
| 主机 | 从 ~/.ssh/config 读取(别名 + 用户@主机) |
| 命令 | 多行输入;「执行」后显示退出码、耗时、stdout/stderr |
| 待确认 | 危险命令命中时出现,必须点「我知道风险,执行」 |
| 审计 | 最近 20 条执行记录(时间 / 主机 / 结果 / 命令摘要) |
安装
dsh plugin --profile web add @deepwhale-cn/dsh-ssh-console
边界(重要)
- 不保存密码、不做代理:只调用本机
ssh,凭据由你的 ssh 体系(key / agent)管理。 - 不是完整终端:一次一条命令执行,不保留 shell 状态(
cd/export不跨命令)。要交互式登录请用系统终端。 - 超时:默认 30 秒,最长 120 秒;长任务请用
nohup/tmux自己托管。 - 审计文件是明文 JSONL,留在本机;不要把它放在共享目录里。
本插件是一个工具。使用者必须遵守所在地区法律法规,对使用本项目造成的任何后果自行承担责任。
No comments yet. Be the first to write one.