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 操作、后台命令、端口转发、反向隧道或代理转发。
状态
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
An MCP server for deep research or task groups
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gdgfd22/deepseek-harness-ssh'
If you have feedback or need assistance with the MCP directory API, please join our Discord server