SSH-Schlüssel & Diagnose (/setup-ssh, /diag)
SSH-Schlüssel deployen & Verbindung prüfen
/setup-ssh — der Plugin-Schlüssel
Synology Manager Plus nutzt einen eigenen, dedizierten Ed25519-Schlüssel: ~/.ssh/synology-manager-plus_ed25519. Damit vermischt sich das Plugin nicht mit deinen sonstigen Schlüsseln (z. B. passphrasen-geschützten GitHub-Keys). /setup-ssh erzeugt den Schlüssel bei Bedarf und ist idempotent — ein erneuter Aufruf auf einem bereits eingerichteten System ist ein No-Op. Ein bestehender Plugin-Schlüssel wird nie überschrieben.
Liegt der öffentliche Schlüssel noch nicht auf dem NAS, zeigt dir der Befehl eine Zeile zum wörtlichen Eintippen — inklusive führendem !:
! ssh-copy-id -p <port> -i ~/.ssh/synology-manager-plus_ed25519.pub <user>@<host>
Das ! ist ein Claude-Code-Präfix und essenziell: Es allokiert ein interaktives Terminal, in dem du das NAS-Passwort eingibst. Ohne ! würde ssh-copy-id deterministisch hängen — deshalb führt das Plugin diesen Schritt bewusst nie selbst aus, sondern reicht ihn dir nur zum Kopieren.
Host-Schlüssel der ersten Verbindung (TOFU)
Beim interaktiven ssh-copy-id-Schritt verbindest du dich das erste Mal mit dem NAS. OpenSSH zeigt dabei den Fingerprint des Host-Schlüssels an — prüfe ihn und bestätige ihn dann. Damit wird der Schlüssel in deine ~/.ssh/known_hosts aufgenommen (Trust on First Use). Alle weiteren Verbindungen laufen anschließend mit BatchMode=yes (keine interaktiven Rückfragen) und nutzen den zwischengespeicherten Host-Schlüssel.
/diag — 7-Punkte-Health-Check
Nach dem Schlüssel-Deployment prüft /diag sieben Punkte (read-only, keiner bricht vorzeitig ab):
- Profil vorhanden (Multi-NAS-Layout erkannt)
- Profil vollständig (host, port, user gefüllt)
- SSH erreichbar (TCP-Probe)
- Schlüssel-Authentifizierung funktioniert (kalter Versuch, dann warmer Retry für VPN-Aufwachzeit)
- passwortloses sudo (wird übersprungen, falls Schritt 4 fehlschlägt)
- Festplatten-Belegung abfragbar
- lokale Mounts plausibel (findet veraltete NFS-Mounts)
Jeder Check liefert OK, WARN oder FAIL, am Ende folgt eine Zusammenfassung. Schlägt die Verbindung fehl, nennt der Befehl die drei häufigsten Ursachen: SSH-Dienst in DSM nicht aktiviert, falscher Port oder ein Benutzer ohne Shell-Zugang.