Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. The dsh-remote-ssh plugin provides the ability to connect to legacy Unix / IBM AIX / macOS hosts over SSH. The tools are executed on the DSH side and default to read-only mode with a command allowlist policy. This plugin is an optional companion to dsh-wsl-kit.
Core Features¶
- Host Connection: Supports connecting to legacy system hosts such as Unix, IBM AIX, and macOS over SSH.
- Status Probing: Provides the
remote_ssh_statustool to list configured hosts, with optionalunameprobing. - Command Execution: Provides the
remote_ssh_runtool to execute allowlisted argv on a specifiedhostId(without invoking a shell). - Security Mechanisms:
- BatchMode SSH: Prevents interactive passwords from entering the chat.
- Argument Validation: argv must not contain shell metacharacters or newline characters.
- Destructive Commands: Destructive commands require configuring
allowMutateand confirmation before execution.
- Default Allowlist: For IBM AIX, the default allowlist includes
oslevel,errpt,lsps, andlparstat.
Installation and Configuration¶
Install the Plugin¶
Run the following command in a terminal to add the plugin to the specified profile:
dsh plugin --profile web add github:173787247/dsh-remote-ssh
Configuration File¶
Configure hosts (host information) and allowCommands (command allowlist) in the profile’s cordis.patch.yml.
Credential Management¶
The plugin depends on the local SSH agent (ssh-agent) to manage credentials. It is recommended to add your SSH private key to ssh-agent.
Typical Usage¶
- Define the host configuration and allowed commands in
cordis.patch.yml. - Ensure the local
ssh-agenthas loaded the required private key. - Use the
remote_ssh_statusorremote_ssh_runtool in a DSH environment to manage remote hosts.
Notes¶
- This plugin is not included in
install.sh. - The plugin runs with the permissions of the DSH process. Review the source code and license before installation.
- Because no shell is used, command arguments must strictly comply with the allowlist restrictions and must not contain shell metacharacters or newline characters.
Summary¶
dsh-remote-ssh provides DeepSeek Harness with the ability to connect to legacy systems. Through allowlisting and BatchMode mechanisms, Unix, AIX, and macOS hosts can be operated in read-only or controlled ways while maintaining security. For more details, see the plugin directory or the GitHub repository.