API-Dokumentation

SSH-Schlüssel hochladen

Lädt einen vorhandenen öffentlichen SSH-Schlüssel auf einen VPS hoch. Optional kann die Schlüssel-ID für den Web-Terminal-Zugang gespeichert werden.

Erforderlicher Scope: vps:manage

Pfadparameter

Parameter Typ Beschreibung
id string Die VPS-ID

Header

Header Erforderlich Wert
Authorization Ja Bearer DEIN_API_SCHLÜSSEL
Content-Type Ja application/json

Body

Feld Typ Erforderlich Beschreibung
action string Ja Muss "upload" sein
publicKey string Ja Der öffentliche SSH-Schlüssel (muss mit ssh- beginnen)
displayName string Nein Anzeigename für den Schlüssel
useForWebTerminal boolean Nein Schlüssel-ID für Web-Terminal-Zugang speichern (Standard: false)

Antwort

{
  "data": {
    "keyId": "abc123",
    "displayName": "mein-schlüssel",
    "publicKey": "ssh-ed25519 AAAAC3NzaC1...",
    "webTerminalKeyId": null
  }
}

Antwortfelder

Feld Typ Beschreibung
keyId string Eindeutiger Bezeichner des hochgeladenen Schlüssels
displayName string Anzeigename des Schlüssels
publicKey string Der hochgeladene öffentliche Schlüssel
webTerminalKeyId string | null Die Schlüssel-ID, falls für das Web-Terminal gespeichert, sonst null

Hinweis: Das Hochladen eines öffentlichen Schlüssels für den Web-Terminal-Zugang speichert nur die Schlüssel-ID. Das Web-Terminal benötigt weiterhin einen gespeicherten privaten Schlüssel (aus einer vorherigen Generierung oder dem Rescue-Flow), um eine Verbindung herzustellen.

Fehler

Status Code Beschreibung
400 INVALID_ACTION action muss "generate" oder "upload" sein
400 MISSING_PUBLIC_KEY publicKey ist für den Upload erforderlich
400 INVALID_PUBLIC_KEY Öffentlicher Schlüssel muss mit ssh- beginnen
404 NOT_FOUND VPS nicht gefunden oder kein Zugriff
502 PROVIDER_ERROR Schlüssel-Upload beim Provider fehlgeschlagen

Beispiel

curl -X POST "https://hosting.site.quest/api/v1/vps/699cdea2ab57a244bb5273fd/ssh/keys" \
  -H "Authorization: Bearer DEIN_API_SCHLÜSSEL" \
  -H "Content-Type: application/json" \
  -d '{"action": "upload", "publicKey": "ssh-ed25519 AAAAC3NzaC1...", "displayName": "mein-laptop"}'

MCP

Diese Aktion ist auch über das MCP-Tool upload_ssh_key verfügbar.