SSH für Agenten gebaut
Ein MCP-Server für SSH.
Termalin ist ein ganz normaler SSH-/Terminal-Client – mit integriertem MCP-Server. Füge ihn claude.ai oder ChatGPT als Connector hinzu, oder richte Claude Code oder jeden Agenten, der das Model Context Protocol spricht, auf deine Hosts – er führt Befehle aus und liest oder schreibt Dateien über SSH und SFTP. Deine Schlüssel verlassen den Schlüssel-Agenten nie, und jeder Schritt wird live gespiegelt, aufgezeichnet und ins Audit-Log geschrieben.
Der gehostete Server ist in der offiziellen MCP Registry als in.termal/termalin-web gelistet.
Was er macht
MCP ist der offene Standard, um KI-Agenten mit Tools zu verbinden. Die meisten MCP-Server kapseln eine API; der von Termalin kapselt deine Server – so kann ein Agent tatsächlich Infrastruktur bedienen: ein Log verfolgen, einen Dienst neu starten, den Plattenplatz prüfen, eine Config bearbeiten, deployen. Er authentifiziert sich über den SSH-Schlüssel-Agenten von Termalin, daher wird nie ein privater Schlüssel an den Agenten oder das Modell übergeben.
Die Tools
Der gehostete Endpoint stellt 16 Tools bereit; der lokale Server termalin-mcp stellt 22 bereit – den gemeinsamen Kern unten plus Tools für Sitzungen, Tunnel und das Live-Terminal; die Zeilen mit dem Vermerk „gehosteter Endpoint“ gibt es nur dort. Die vollständige Liste mit Argumenten steht in der MCP-Tool-Referenz (auf Englisch). Der Kern:
| Tool | Was es macht |
|---|---|
hosts_list | Listet die Hosts, die der Agent erreichen darf. |
ssh_exec | Führt einen einzelnen Befehl auf einem Host aus und liefert Ausgabe und Exit-Code. |
ssh_exec_many | Führt denselben Befehl auf mehreren Hosts gleichzeitig aus – gehosteter Endpoint. |
job_start / status / stop / list | Startet einen langen Build oder eine Migration im Hintergrund, holt später Log und Exit-Code ab, stoppt den Job – gehosteter Endpoint. Jobs überdauern den Zug des Agenten und die Verbindung. |
server_metrics | Aktuelle Werte für CPU, Arbeitsspeicher, Festplatte, Last und Netzwerk aller Server oder die Details eines Servers mit Durchschnitts- und Spitzenwerten der letzten Stunden; gelesen aus dem Monitoring von Termalin, auf dem Server wird nichts ausgeführt – nur gehosteter Endpoint. |
alerts_list | Was laut Monitoring gerade nicht stimmt (Festplatte läuft voll, Arbeitsspeicher oder Last am Anschlag, ein ausgefallener Dienst, ein bald ablaufendes Zertifikat, ein Server offline) und was sich in den letzten sieben Tagen erledigt hat – nur gehosteter Endpoint. |
sftp_list | Listet ein Verzeichnis über SFTP. |
sftp_read | Liest eine Textdatei über SFTP (begrenzt, nur Text) – gehosteter Endpoint; der lokale Server nutzt sftp_get. |
sftp_write | Schreibt eine Textdatei über SFTP – gehosteter Endpoint; der lokale Server nutzt sftp_put. |
generate_password | Erzeugt bei Bedarf ein starkes Passwort – Länge und Zeichensätze bestimmst du. |
data_query | Fragt eine Datenbank auf einem Host ab – ohne Passwort: startet den eigenen Client der Engine über den schlüssellosen Tunnel und nutzt lokales Vertrauen (Postgres Peer-Auth, MySQL Socket-Auth, redis-cli, mongosh, sqlite3). Standardmäßig nur lesend. |
data_tables | Listet die Tabellen / Collections / Keys einer Datenbank auf einem Host – über denselben passwortlosen Weg. |
data_schema | Beschreibt die Spalten einer Tabelle. |
Der lokale Server bringt zusätzlich diese mit:
| Tool | Was es macht |
|---|---|
session_open / exec / close / list | Öffnet eine dauerhafte SSH-Sitzung, führt darin Befehle aus und verwaltet sie. |
sftp_get / sftp_put | Lädt Dateien herunter und hoch. |
tunnel_open / close / list | Öffnet Portweiterleitungen auf einem Host – erreiche einen Dienst dahinter, gib einen lokalen frei oder leite über ihn – und verwaltet sie. |
terminal_open / run / run_many / sessions / hosts | Steuert die laufende Desktop-App: öffnet Live-Terminal-Tabs oder steigt in eine bereits offene Sitzung ein und arbeitet neben dir (nur mit Zustimmung). |
data_list / tables / schema / query | Erkundet und befragt deine gespeicherten Datenbanken – listet Datenbanken, Tabellen und Spalten und führt eine Abfrage nur lesend aus. Standardmäßig aus, pro Verbindung, nur mit Zustimmung. |
Drei Wege zur Verbindung
1 · claude.ai / ChatGPT – im Chat, den du schon nutzt
Keine Installation, kein Schlüssel zum Einfügen. Füge Termalin als Connector hinzu und verwalte deine Server im Gespräch:
- claude.ai: Öffne den Connector-Eintrag von Termalin → Connect (oder Settings → Connectors → Add custom connector →
https://termal.in/mcp) - ChatGPT: Füge Termalin aus dem App-Verzeichnis hinzu (suche unter Apps nach Termalin) oder Settings → Connectors → dieselbe URL
- Claude Code:
claude mcp add --transport http termalin https://termal.in/mcp, dann/mcpausführen und anmelden. Andere Clients, die Remote-MCP-Server mit Anmeldung unterstützen (Codex, Cursor, VS Code), nehmen dieselbe URL.
Der Chat öffnet die Anmeldeseite von Termalin; du bestätigst einmal, und er kann deine Server auflisten, Befehle ausführen, Dateien lesen oder schreiben und Monitoring und Alarme prüfen – „prüf den Plattenplatz auf prod“, „zeig das nginx-Log“, „korrigier diese Config“ direkt aus dem Gespräch. Der Zugriff wird per OAuth erteilt – beschränkt auf deine eigenen angebundenen Server, protokolliert und jederzeit widerrufbar. Jede verbundene App bekommt ihre eigene Befehlsrichtlinie – voller Zugriff, eine Liste erlaubter Befehle oder nur lesend –, festgelegt in der Karte „KI-Apps“ deines Kontos.
Ausführliche Anleitungen: der ChatGPT-Connector und der claude.ai-Connector.
Voraussetzungen, die Neulinge übersehen: Der gehostete Server braucht ein Konto mit Pro oder die 14-tägige Testphase; der Chat erreicht nur angebundene Server – melde dich unter termal.in/account an, klicke auf „Connector hinzufügen“, kopiere den einzeiligen Installationsbefehl und führe ihn auf dem Server aus (ein Host, der nur in der Desktop-App existiert, bleibt unerreichbar). Und im Gespräch selbst aktivierst du Termalin über das Tools-Menü des Eingabefelds – den Connector in den Einstellungen hinzuzufügen reicht nicht immer.
2 · Lokaler Server (läuft auf deinem Rechner)
Richte den MCP-Client deines Agenten auf die mitgelieferte Binary termalin-mcp. Mit Claude Code:
claude mcp add termalin -- <path>/termalin-mcp
Oder in der Konfiguration eines MCP-Clients:
{
"mcpServers": {
"termalin": { "command": "<path>/termalin-mcp" }
}
} Er erreicht die Hosts, die du unter Einstellungen → Agentenzugriff (MCP) auswählst (gespeichert mit reiner Agenten-Authentifizierung – keine Passwörter auf der Platte). Jeder Host hat außerdem eine eigene Zugriffsstufe für Agenten – voll, eine Liste erlaubter Befehle oder gesperrt –, die direkt am Host festgelegt wird.
3 · Gehosteter Endpoint mit API-Schlüssel (CI, Skripte, andere Agenten)
Erstelle einen API-Schlüssel im Web-Kabinett und richte einen beliebigen Agenten auf den HTTP-MCP-Endpoint:
{
"mcpServers": {
"termalin": {
"url": "https://termal.in/api/v1/mcp",
"headers": { "Authorization": "Bearer tk_live_…" }
}
}
} Er führt Befehle aus und verschiebt Dateien auf deinen getunnelten Servern – denen, auf denen der per Einzeiler installierte Agent läuft –, auch wenn auf deinem Rechner nichts geöffnet ist. Er authentifiziert sich mit einem kurzlebigen Zertifikat, es wird also kein Schlüssel herausgegeben. Schlüssel lassen sich auf bestimmte Server beschränken, mit einer Befehlsrichtlinie versehen – voller Zugriff, eine Liste erlaubter Befehle oder nur lesend –, mit einem Ablaufdatum (30 / 90 / 365 Tage) ausstatten und jederzeit widerrufen.
Einrichtungsanleitungen
Schritt für Schritt für jeden Client:
- Claude Code – eine einzige Zeile
claude mcp add. - ChatGPT und claude.ai – der Chat-Connector mit OAuth.
- Cursor – ein Eintrag in
mcp.json. - Codex – ein Eintrag in
config.toml. - Gemini CLI (auf Englisch) – die CLI von Google über SSH.
Du behältst die Kontrolle
- Agentenzugriff ist standardmäßig aus; einen Agenten in deine Live-Sitzungen tippen zu lassen, ist noch einmal ein eigener Schalter.
- Der Zugriff ist fein abgestuft: pro Host in der Desktop-App (voll / erlaubte Befehle / gesperrt) sowie pro API-Schlüssel und pro verbundener KI-App am gehosteten Endpoint (voll / erlaubte Befehle / nur lesend) – so darf ein Agent auf einem Server nur lesen und auf einem anderen nur
gitausführen. - Der Agent bekommt nie einen Schlüssel – er authentifiziert sich über den SSH-Schlüssel-Agenten von Termalin oder ein kurzlebiges Zertifikat.
- Jeder Befehl des Agenten wird in der Sitzungsaufzeichnung markiert, ist live im Watch Grid sichtbar und landet im Audit-Log.
- Gehostete Läufe sind pro API-Schlüssel in Rate und Laufzeit begrenzt.
Häufige Fragen
Wie verbinde ich meine Server mit claude.ai oder ChatGPT?
In claude.ai: Öffne den Eintrag von Termalin im Connector-Verzeichnis und klicke auf Connect (oder füge ihn per URL hinzu unter Settings → Connectors → Add custom connector → https://termal.in/mcp). Die Anmeldeseite von Termalin öffnet sich; du bestätigst, und Claude kann deine Server auflisten, Befehle ausführen und Dateien direkt im Chat verwalten. In ChatGPT fügst du Termalin aus dem App-Verzeichnis hinzu (suche unter Apps nach Termalin) oder fügst dieselbe URL unter Settings → Connectors hinzu. Kein API-Schlüssel zum Einfügen – der Zugriff wird per OAuth erteilt, ist auf deine eigenen angebundenen Server beschränkt und jederzeit widerrufbar.
Was ist ein MCP-Server für SSH?
Ein MCP-Server für SSH stellt SSH und SFTP als Tools bereit, die ein KI-Agent über das Model Context Protocol aufrufen kann – so kann der Agent Befehle ausführen und Dateien auf deinen Servern lesen oder schreiben. Es gibt sie in zwei Ausprägungen: eigenständige Server (z. B. ssh-mcp, mcp-ssh), die einen Schlüssel dort halten, wo sie laufen, und SSH-Clients mit einem eingebauten (Conduit, XPipe, Termalin). Termalin bringt einen direkt im SSH-Client mit: Du wählst, welche Hosts der Agent erreichen darf, und Termalin übernimmt die Authentifizierung – der Agent bekommt nie einen privaten Schlüssel in die Hand.
Wie gebe ich einem KI-Agenten SSH-Zugriff auf meine Server?
Zwei Wege. Gehostet: Binde deine Server über einen Connector an, füge dann https://termal.in/mcp zu deinem Agenten hinzu und melde dich einmal an – mit Claude Code heißt das claude mcp add --transport http termalin https://termal.in/mcp und dann /mcp zum Anmelden; Skripte und CI nutzen https://termal.in/api/v1/mcp mit einem API-Schlüssel. Es muss keine Desktop-App laufen. Lokal: Installiere Termalin, aktiviere die gewünschten Hosts unter Einstellungen → Agentenzugriff (MCP) und registriere den mitgelieferten Server mit claude mcp add termalin -- <path>/termalin-mcp. So oder so kann jeder MCP-fähige Agent – Claude Code, Cursor, Codex oder dein eigener – diese Hosts auflisten und über SSH und SFTP bearbeiten.
Kann ein KI-Agent SSH nutzen, ohne meinen privaten Schlüssel zu sehen?
Ja. Termalin arbeitet als Schlüsselverwahrer: Du entsperrst deine Schlüssel einmal, und Termalin signiert für den Agenten – kein privater Schlüssel wird je an den Agenten übergeben oder an das Modell weitergereicht. Der gehostete Endpoint geht noch weiter und authentifiziert jeden Lauf mit einem kurzlebigen SSH-Zertifikat statt mit einem Schlüssel.
Welche SSH-Clients haben einen integrierten MCP-Server?
Stand Oktober 2026: Conduit (SSH, RDP, VNC und Web, rund 60 lokale Tools, Apache-2.0, nur über einen lokalen Socket); XPipe (ein lokaler HTTP-MCP-Server, standardmäßig aus, nur lesend, bis du Änderungen aktivierst); VibeShell (rund 28 Tools, MIT, lokal); und Termalin (22 lokale Tools plus einen gehosteten Endpoint mit 16 Tools unter https://termal.in/mcp mit OAuth-Anmeldung für claude.ai, ChatGPT, Claude Code, Codex und Cursor – Server werden schlüssellos über einen Connector erreicht, mit Befehlsregeln pro Verbindung, einem Audit-Log, unter Windows, macOS, Linux, iOS und im Browser). Conduit passt, wenn du eine Open-Source-App über SSH/RDP/VNC willst; XPipe, wenn du in Docker und VMs lebst; Termalin, wenn der Agent auch aus CI oder einem Chat ohne laufenden Desktop arbeiten muss. Siehe den vollständigen Marktvergleich (auf Englisch).
Funktioniert der MCP-Server, ohne dass die Desktop-App läuft?
Beide Modi gibt es. Der lokale Server läuft neben der Desktop-App für die Hosts, die du aus ihr exportierst. Der gehostete Server – https://termal.in/mcp mit einmaliger Anmeldung oder https://termal.in/api/v1/mcp mit einem API-Schlüssel – braucht überhaupt keinen Desktop – er erreicht Server, die über den schlüssellosen Termalin Connector angebunden sind, und authentifiziert sich mit kurzlebigen Zertifikaten, sodass auch Agenten in CI oder Cloud-Sandboxes funktionieren. Er ist in der offiziellen MCP Registry als in.termal/termalin-web gelistet.
Zur Dokumentation → · Zum Sicherheitsmodell → · Herunterladen →