Skip to main content
Glama
gdgfd22

dsh-lab-ssh

by gdgfd22

dsh-lab-ssh

Englisch | 简体中文

Sicherheitsgeprüfte SSH-Entwicklungswerkzeuge für DeepSeek Harness und standardmäßige MCP-Clients.

Das Plugin ermöglicht einem Agenten, der auf einer verbundenen Workstation läuft, die GPU, die Laufzeitumgebung und den explizit konfigurierten Quell-Workspace eines Laborservers zu nutzen, während der Server vom öffentlichen Internet isoliert bleibt.

Version 0.3.0 ist eine experimentelle Vorschau. Vor dem Laboreinsatz eine getestete DeepSeek-Harness-Version festlegen.

Dies ist ein unabhängiges Community-Plugin und kein offizielles DeepSeek-AI-Paket.

Warum es existiert

Einem Agenten ein normales SSH-Terminal zu geben, setzt beliebige Ziele, Befehle und Dateisystempfade frei. Dieses Projekt fügt eine standardmäßig verweigernde Richtlinienebene ein:

  • feste, für das Modell sichtbare Host-Aliase;

  • festgelegte OpenSSH-SHA256-Host-Key-Fingerabdrücke;

  • Umgebungs-, lokale Schlüsseldatei- oder SSH-Agent-Anmeldeinformationen;

  • Pro-Host-Befehls-Zulassungslisten, automatische Genehmigungsregeln und Ablehnungsregeln;

  • begrenzte Befehlsausgabe und Timeouts;

  • Alias-basierte Remote-Verzeichniswurzeln mit kanonischen Containment-Prüfungen;

  • begrenzte UTF-8-Lesevorgänge und atomare, hashgeschützte Schreibvorgänge;

  • optionale alias-basierte Arbeitsverzeichnisse für Befehle;

  • eine standardmäßig deaktivierte HTTPS-Artefaktbrücke für Offline-Server;

  • eine JSON-Richtlinie, die von DeepSeek Harness und Codex MCP gemeinsam genutzt wird.

Das Plugin setzt keine beliebigen Hosts, interaktiven Shells, Inline-Geheimnisse, uneingeschränkte Dateiübertragung, Lösch-/Verschiebe-/chmod-Operationen, Hintergrundbefehle, Portweiterleitung, Reverse-Tunnel oder Agentenweiterleitung frei.

Related MCP server: ssh-mcp

Status

Das DeepSeek-Harness-Plugin, der stdio-MCP-Server, die Befehlsrichtlinie, der eingeschränkte SFTP-Zugriff, Arbeitsverzeichnis-Aliase und die erste Artefaktbrücken-Ebene sind implementiert. Die Testsuite enthält 25 Tests in 9 Dateien und nimmt niemals Kontakt zu realer Laborinfrastruktur oder dem öffentlichen Internet auf.

Visuelle kurzlebige Anmeldesitzungen, dauerhafte Prüfung, rollenbasierte Richtlinie, Verzeichnissynchronisierung, Abhängigkeitsabschluss, Caching und fortsetzbare Übertragung bleiben zukünftige Arbeiten.

Schnellstart

Anforderungen:

  • Node.js ^22.19 oder >=24;

  • DeepSeek Harness 0.1.0-rc.7 oder eine kompatible 0.1.x-Vorschau;

  • pnpm im PATH für dsh plugin.

Build und Installation:

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>

Kopieren Sie die Beispielkonfiguration außerhalb des Repositorys, ersetzen Sie jeden Platzhalter und verweisen Sie den DSH-Benutzer-Patch darauf:

- id: lab-ssh
  config:
    configFile: C:/Users/<USER>/.dsh/lab-ssh.private.json

Setzen Sie Anmelde-Umgebungsvariablen im selben Prozess, der DSH startet:

$env:LAB_SSH_GPU01_PASSWORD = '<enter locally>'
npx -y @deepseek-ai/dsh@0.1.0-rc.7 web

Siehe den chinesischen Betreiberleitfaden und den chinesischen Schnellstart für Konfiguration, Genehmigungsrichtlinie, Offline-Artefakt-Staging und Fehlerbehebung.

Werkzeuge

  • ssh_list_hosts: listet redigierte konfigurierte Host-Aliase auf.

  • ssh_list_file_roots: listet Verzeichnis-Aliase und Zugriffsrichtlinie auf.

  • ssh_list_directory: listet begrenzte Einträge unter einer autorisierten Wurzel auf.

  • ssh_read_file: liest begrenzten UTF-8-Text und gibt dessen SHA256 zurück.

  • ssh_write_file: erstellt oder ersetzt atomar begrenzten UTF-8-Text.

  • ssh_exec: führt einen zulässigen Befehl auf einem festen Host und optionalem Verzeichnis-Alias aus.

  • ssh_stage_artifact: genehmigungspflichtiger Download, Verifizierung und atomarer Upload eines Artefakts.

Offline-Server

Die Artefaktbrücke ist kein transparenter Proxy. Die Workstation akzeptiert eine HTTPS-URL ohne Anmeldeinformationen oder Abfrage-Tokens, validiert jede Weiterleitung gegen eine Administrator-Domänen-Zulassungsliste, erzwingt eine Größenbeschränkung und eine obligatorische vertrauenswürdige SHA256 und erstellt dann atomar die Datei innerhalb einer explizit artefaktaktivierten Remote-Wurzel. Vorhandene Dateien werden nicht ersetzt.

Generisches SOCKS/HTTP-Proxying, SSH-Weiterleitung und Reverse-Tunnel bleiben außerhalb des Rahmens, sodass die Netzwerkisolation des Servers erhalten bleibt.

Codex MCP

Das Repository enthält die sichere leere config/lab-ssh.empty.json und die projektbezogene .codex/config.toml. Bauen Sie das Paket und laden Sie Codex in einem vertrauenswürdigen Projekt neu, um den MCP-Server zu entdecken. Für die reale Bereitstellung verweisen Sie eine private Codex-Konfiguration auf eine JSON-Datei außerhalb des Repositorys.

Der Server kann auch direkt gestartet werden:

node <PLUGIN_DIR>/lib/mcp-server.js --config <PRIVATE_CONFIG_PATH>

Entwickeln und verifizieren

npm install
npm run typecheck
npm test
npm run build
npm run pack:check

Führen Sie unter Windows einen Reinraum-Abnahmetest aus, der das öffentliche Repository in das System-Temporärverzeichnis neu klont und weder die aktuellen Abhängigkeiten, Build-Ausgaben, das DSH-Profil noch die private SSH-Konfiguration wiederverwendet:

powershell -ExecutionPolicy Bypass -File scripts/clean-room-test.ps1

Es führt npm ci, Typprüfung, Tests, Build, Paketinspektion, Plugin-Installation mit isoliertem Profil und einen DSH-Web-HTTP-Smoke-Test mit hosts: [] aus. Port 3180 wird standardmäßig verwendet, und die temporäre Umgebung wird danach entfernt.

Überprüfen Sie SECURITY.md vor der Veröffentlichung. Echte SSH-Konfiguration, Anmeldeinformationen, Protokolle, lokale Profile, Build-Ausgaben und Archive dürfen nicht committet oder in eine Veröffentlichung aufgenommen werden.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Zero-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.
    17
    7 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    17
    234 PyPI
    23
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    SSH 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.
    14
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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