前言¶
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 倉庫。