dsh-lab-ssh
dsh-lab-ssh
英文 | 简体中文
为 DeepSeek Harness 和标准 MCP 客户端提供的安全门控 SSH 开发工具。
该插件允许运行在已连接工作站上的代理使用实验室服务器的 GPU、运行时和显式配置的源代码工作区,同时服务器仍与公共互联网隔离。
版本 0.3.0 是实验性预览版。在实验室部署前,请锁定一个经过测试的 DeepSeek Harness 版本。
这是一个独立的社区插件,并非 DeepSeek AI 官方包。
为什么存在
给代理一个普通的 SSH 终端会暴露任意的目标、命令和文件系统路径。本项目插入了一个默认拒绝的策略层:
固定的模型可见主机别名;
固定的 OpenSSH SHA256 主机密钥指纹;
环境变量、本地密钥文件或 SSH Agent 凭据引用;
每主机命令允许列表、自动批准规则和拒绝规则;
有界命令输出和超时;
基于别名的远程目录根,带规范包含检查;
有界 UTF-8 读取和原子、哈希保护写入;
可选的基于别名的命令工作目录;
默认禁用的 HTTPS 工件桥,用于离线服务器;
一个由 DeepSeek Harness 和 Codex MCP 共享的 JSON 策略。
该插件不暴露任意主机、交互式 shell、内联密钥、无限制文件传输、删除/移动/chmod 操作、后台命令、端口转发、反向隧道或代理转发。
Related MCP server: ssh-mcp
状态
DeepSeek Harness 插件、stdio MCP 服务器、命令策略、受限 SFTP 访问、工作目录别名和第一层工件桥已实现。测试套件包含 9 个文件中的 25 个测试,从不接触真实的实验室基础设施或公共互联网。
可视化的短期凭据会话、持久审计、基于角色的策略、目录同步、依赖闭包、缓存和可恢复传输仍是未来工作。
快速开始
要求:
Node.js
^22.19或>=24;DeepSeek Harness
0.1.0-rc.7或兼容的0.1.x预览版;PATH上有 pnpm,用于dsh plugin。
构建并安装:
Set-Location <PLUGIN_DIR>
npm install
npm run build
npx -y @deepseek-ai/dsh@0.1.0-rc.7 plugin --profile web add <PLUGIN_DIR>将示例配置复制到仓库之外,替换每个占位符,并将 DSH 用户补丁指向该配置:
- id: lab-ssh
config:
configFile: C:/Users/<USER>/.dsh/lab-ssh.private.json在启动 DSH 的同一进程中设置凭据环境变量:
$env:LAB_SSH_GPU01_PASSWORD = '<enter locally>'
npx -y @deepseek-ai/dsh@0.1.0-rc.7 web有关配置、批准策略、离线工件暂存和故障排除,请参阅中文操作员指南和中文快速入门。
工具
ssh_list_hosts:列出脱敏后的已配置主机别名。ssh_list_file_roots:列出目录别名和访问策略。ssh_list_directory:列出授权根目录下的有界条目。ssh_read_file:读取有界 UTF-8 文本并返回其 SHA256。ssh_write_file:创建或原子替换有界 UTF-8 文本。ssh_exec:在固定主机和可选目录别名上运行允许列表中的命令。ssh_stage_artifact:对单个工件进行需批准的下载、验证和原子上传。
离线服务器
工件桥不是透明代理。工作站接受不带凭据或查询令牌的 HTTPS URL,根据管理员域允许列表验证每次重定向,强制执行大小限制和强制可信 SHA256,然后在显式启用工件的远程根目录内原子创建文件。现有文件不会被替换。
通用 SOCKS/HTTP 代理、SSH 转发和反向隧道仍不在范围内,以保持服务器网络隔离。
Codex MCP
仓库包含安全的空 config/lab-ssh.empty.json 和项目级 .codex/config.toml。构建包并在受信任的项目中重新加载 Codex 以发现 MCP 服务器。对于实际部署,请将私有 Codex 配置指向仓库之外的 JSON 文件。
服务器也可以直接启动:
node <PLUGIN_DIR>/lib/mcp-server.js --config <PRIVATE_CONFIG_PATH>开发和验证
npm install
npm run typecheck
npm test
npm run build
npm run pack:check在 Windows 上,运行一个隔离环境验收测试,该测试将公共仓库重新克隆到系统临时目录,并且不重用当前的依赖项、构建输出、DSH 配置文件或私有 SSH 配置:
powershell -ExecutionPolicy Bypass -File scripts/clean-room-test.ps1它运行 npm ci、类型检查、测试、构建、包检查、隔离配置文件插件安装,以及使用 hosts: [] 的 DSH Web HTTP 冒烟测试。默认使用端口 3180,之后会删除临时环境。
发布前请查看 SECURITY.md。真实的 SSH 配置、凭据、日志、本地配置文件、构建输出和归档不得提交或包含在发布中。
许可证
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Superserve sandboxes: create, exec, and manage Firecracker microVMs
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
- ArcjetOAuthcom.arcjet
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseAqualityDmaintenanceZero-config SSH/SFTP MCP server that lets an LLM client open temporary SSH/SFTP sessions to remote hosts, run commands, and upload/download files without holding any pre-baked credentials.177 npm2MIT
- AlicenseAqualityDmaintenanceAn MCP server that gives AI agents SSH access to remote machines through your local OpenSSH client, enabling remote command execution, file transfer, persistent shell sessions, and port forwarding.17234 PyPI23MIT
- AlicenseAqualityBmaintenanceSSH orchestration MCP server for coding agents, enabling persistent bash sessions, hash-protected remote file editing, SFTP transfers, SSH tunnels, and multi-host orchestration with connection reuse across tools.147Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA secure SSH-based MCP server for diagnosing remote servers. It allows AI agents to execute read-only commands and read files automatically, while requiring user confirmation for write operations.MIT