Skip to main content
Glama
nqmn

SSH Remote MCP Server

by nqmn

SSH Remote MCP-Server

SSH-Fernzugriff für MCP-kompatible Clients über das Model Context Protocol (MCP).

Schnellstart

  1. Installieren:

    pip install -r requirements.txt
  2. MCP in Claude Desktop oder Claude Code hinzufügen:

    Verwenden Sie Ihre MCP-Konfiguration und setzen Sie den Befehl auf:

    python3 adremote-mcp/ssh_mcp_server.py

    oder

    python.exe adremote-mcp/ssh_mcp_server.py
  3. MCP in Codex hinzufügen:

    Fügen Sie denselben Server zu Ihrer Codex-MCP-Konfiguration hinzu:

    python3 adremote-mcp/ssh_mcp_server.py
  4. Automatische Einrichtung:

    Laden Sie dieses Repository herunter, starten Sie Claude oder Codex und bitten Sie es, diesen Ordner als globalen MCP-Server hinzuzufügen. Danach können Sie ihn direkt aus dem Chat heraus verwenden.

Funktionen

  • Funktioniert mit MCP-kompatiblen Clients unter Windows und Linux

  • Verbindung zu Remoteservern über SSH

  • Native Unterstützung für SSH-Jump-Hosts / Bastion-Hosts

  • Befehle remote ausführen

  • Dateien per SFTP hoch-/herunterladen

  • Mehrere Verbindungen verwalten

  • Zustandsüberwachung

Anwendungsbeispiele

Verbindung mit Passwort:

Connect to 192.168.1.100 with username ubuntu and password mypass

oder in kürzerer Form:

ssh 192.168.1.100:22 ubuntu mypass

Der MCP testet zuerst die SSH-Verbindung mit Ihrem Benutzernamen und Passwort. Wenn die Anmeldung funktioniert, generiert oder installiert er einen SSH-Schlüssel, speichert die schlüsselbasierten Anmeldeinformationen lokal und speichert das Passwort nicht. Das Passwort wird nur beim ersten Mal verwendet.

Verbindung mit Passwort für eine einmalige Sitzung:

ssh 192.168.1.100:22 ubuntu mypass, save_credentials false

Dies behält nur die Live-Verbindung bei. Es werden keine wiederverwendbaren Anmeldeinformationen gespeichert und es wird kein automatisches Key-Bootstrapping versucht.

Spätere Verbindung unter Verwendung des gespeicherten Namens:

ssh saved-name

Nach der ersten erfolgreichen Einrichtung verwenden Sie einfach den gespeicherten Namen der Anmeldeinformationen, um erneut eine Verbindung herzustellen.

Verbindung über einen Jump-Host:

Verwenden Sie das jump_host-Objekt bei ssh_connect oder ssh_save_credentials:

{
  "hostname": "10.0.2.15",
  "username": "ubuntu",
  "private_key_path": "~/.ssh/id_ed25519",
  "jump_host": {
    "hostname": "203.0.113.10",
    "username": "bastion",
    "private_key_path": "~/.ssh/id_ed25519",
    "port": 22
  }
}

Dies verwendet einen nativen SSH-Tunnel zum Zielhost, und gespeicherte Anmeldeinformationen behalten dieselbe Jump-Host-Konfiguration bei. Für wiederverwendbare gespeicherte Anmeldeinformationen muss der Jump-Host private_key_path anstelle eines Passworts verwenden.

Befehle ausführen:

List files in /home directory on my server
Run 'top' command on the remote server
Execute script.py and monitor its log

Dateiübertragungen:

Upload local file.txt to /home/user/ on the server
Download /var/log/app.log from the server

Verbindungsstatus und Inventar:

Check health of all SSH connections
Show me all active SSH connections

Anforderungen

  • Python 3.10+

  • paramiko

  • mcp

Letztes Update

Version 1.0.1 fügt sicherere und praktischere SSH-Workflows für den Alltag hinzu:

  • Direkte Anmeldungen speichern standardmäßig weiterhin wiederverwendbare Anmeldeinformationen, aber save_credentials=false schließt dies nun auch für Passwortsitzungen sauber aus

  • Abläufe für gespeicherte Anmeldeinformationen umfassen nun Hilfsprogramme zum Verbinden, Speichern, Auflisten, Löschen und manuellen Einrichten von Schlüsseln

  • Regeln für Host-Vertrauen und Dateiübertragung sind strenger, mit lokalen Root-Beschränkungen und Host-Pinning bei der ersten Verwendung (Trust-on-first-use)

  • Native Jump-Host-Verbindungen werden sowohl für Live-Sitzungen als auch für gespeicherte Anmeldeinformationen unterstützt

  • Gespeicherte Anmeldeinformationen sind schlüsselbasiert, daher ist für den normalen Gebrauch kein Master-Passwort erforderlich

  • Manuell gespeicherte Pfade zu privaten Schlüsseln werden beim Speichern validiert, nicht erst später bei der ersten Verbindung

Support

Kontaktieren Sie mich für eine Zusammenarbeit.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/nqmn/adremote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server