前言¶
DeepSeek Harness (DSH) 采用插件化架构。dsh-remote-ssh 插件提供了通过 SSH 连接 Unix / IBM AIX / macOS 等旧世界主机的能力。工具在 DSH 侧执行,默认采用只读模式与命令白名单策略。该插件是 dsh-wsl-kit 的可选配套工具。
核心功能¶
- 主机连接:支持通过 SSH 连接 Unix、IBM AIX 和 macOS 等旧系统主机。
- 状态探测:提供
remote_ssh_status工具,用于列出已配置的主机,并支持可选的 uname 探测。 - 命令执行:提供
remote_ssh_run工具,在指定 hostId 上执行白名单 argv(不走 shell)。 - 安全机制:
- BatchMode SSH:禁止交互式口令进聊天。
- 参数校验:argv 禁止 shell 元字符与换行。
- 破坏性命令:破坏性命令需配置
allowMutate并在操作前进行确认。
- 默认白名单:针对 IBM AIX,默认白名单包含
oslevel、errpt、lsps和lparstat。
安装与配置¶
安装插件¶
在终端中执行以下命令将插件添加到指定的 profile:
dsh plugin --profile web add github:173787247/dsh-remote-ssh
配置文件¶
在 profile 的 cordis.patch.yml 中配置 hosts(主机信息)和 allowCommands(允许执行的命令白名单)。
凭据管理¶
插件依赖本机的 SSH 代理(ssh-agent)来管理凭据。建议将 SSH 私钥添加到 ssh-agent 中。
典型用法¶
- 在
cordis.patch.yml中定义主机配置和允许的命令。 - 确保本地 ssh-agent 已加载所需的私钥。
- 在 DSH 环境中使用
remote_ssh_status或remote_ssh_run工具操作远程主机。
注意事项¶
- 该插件不在
install.sh中。 - 插件以 DSH 进程的权限运行,安装前应检查源码与许可证。
- 由于不使用 shell,命令参数必须严格符合白名单限制,且不能包含 shell 元字符或换行符。
总结¶
dsh-remote-ssh 为 DeepSeek Harness 提供了连接旧系统的能力。通过白名单和 BatchMode 机制,可以在保障安全的前提下,对 Unix、AIX 和 macOS 主机进行只读或受控操作。更多细节可查阅插件目录或GitHub 仓库。