SSH-Schlüssel bieten eine sicherere Authentifizierungsmethode für Ihren VPS als Passwörter. Anstatt bei jeder Verbindung ein Passwort einzugeben, verwendet Ihr SSH-Client ein kryptografisches Schlüsselpaar — einen privaten Schlüssel, der auf Ihrem Computer verbleibt, und einen öffentlichen Schlüssel, der auf dem Server hinterlegt wird. Virtualizor ermöglicht es Ihnen, öffentliche SSH-Schlüssel direkt über das Kontrollpanel auf Ihren VPS hochzuladen und anzuwenden.
Schritt 1 — SSH-Schlüsselpaar generieren (falls noch keines vorhanden ist)
Wenn Sie bereits über ein SSH-Schlüsselpaar verfügen, fahren Sie mit Schritt 2 fort.
Linux und macOS:
- Öffnen Sie ein Terminal.
- Führen Sie den folgenden Befehl aus und ersetzen Sie dabei die E-Mail-Adresse durch Ihre eigene:
- ssh-keygen -t ed25519 -C "your@email.com"
- Wenn Sie nach einem Speicherort gefragt werden, drücken Sie Enter, um den Standardpfad zu übernehmen (~/.ssh/id_ed25519).
- Optional können Sie eine Passphrase für zusätzliche Sicherheit eingeben und anschließend Enter drücken.
- Es werden zwei Dateien erstellt: ~/.ssh/id_ed25519 (der private Schlüssel — halten Sie diesen geheim) und ~/.ssh/id_ed25519.pub (der öffentliche Schlüssel — dieser wird in Virtualizor hochgeladen).
Windows:
- Öffnen Sie Windows Terminal oder PowerShell und führen Sie ssh-keygen -t ed25519 aus. Dies funktioniert ab Windows 10 Version 1809.
- Alternativ können Sie PuTTYgen verwenden: Öffnen Sie das Programm, wählen Sie EdDSA oder RSA als Schlüsseltyp aus, klicken Sie auf Generate, bewegen Sie die Maus, um Entropie zu erzeugen, und klicken Sie anschließend auf Save public key und Save private key.
Schritt 2 — Öffentlichen Schlüssel in Virtualizor hinzufügen
- Melden Sie sich im Virtualizor-Endbenutzer-Panel an.
- Klicken Sie in der Seitenleiste auf SSH Keys.
- Klicken Sie auf Add SSH Key.
- Fügen Sie im Feld Key den vollständigen Inhalt Ihrer öffentlichen Schlüsseldatei ein. Öffnen Sie die Datei in einem Texteditor, um sie zu kopieren, oder führen Sie cat ~/.ssh/id_ed25519.pub in einem Terminal aus und kopieren Sie die Ausgabe. Der Schlüssel beginnt mit ssh-ed25519 oder ssh-rsa und endet mit Ihrer E-Mail-Adresse.
- Geben Sie dem Schlüssel einen aussagekräftigen Namen (z. B. My Laptop).
- Klicken Sie auf Save.
Schritt 3 — SSH-Schlüssel auf einen VPS anwenden
- Suchen Sie im Bereich SSH Keys den soeben hinzugefügten Schlüssel.
- Klicken Sie auf die Schaltfläche Apply neben dem Schlüssel.
- Eine Liste Ihrer VPS-Instanzen wird angezeigt. Wählen Sie den VPS aus, dem Sie diesen Schlüssel hinzufügen möchten.
- Klicken Sie auf Apply. Virtualizor schreibt den öffentlichen Schlüssel in /root/.ssh/authorized_keys auf dem ausgewählten VPS.
Verbindung zum VPS über den SSH-Schlüssel herstellen
- Linux / macOS: Öffnen Sie ein Terminal und führen Sie ssh root@your-vps-ip aus. SSH verwendet automatisch Ihren privaten Schlüssel aus ~/.ssh/.
- Windows (Windows Terminal oder PowerShell): Führen Sie ssh root@your-vps-ip aus. Der Schlüssel in C:UsersYourUsername.ssh wird automatisch verwendet.
- Windows (PuTTY): Öffnen Sie PuTTY, geben Sie die IP-Adresse Ihres VPS im Feld „Host Name" ein, navigieren Sie zu Connection → SSH → Auth → Credentials, wählen Sie Ihre private Schlüsseldatei (im Format .ppk) aus und klicken Sie auf Open.
Sicherheitshinweis
- Bewahren Sie Ihre private Schlüsseldatei sicher auf. Teilen Sie sie niemals mit anderen, laden Sie sie nirgendwo hoch und fügen Sie sie in kein Webformular ein.
- Wenn Sie vermuten, dass Ihr privater Schlüssel kompromittiert wurde, generieren Sie sofort ein neues Schlüsselpaar, fügen Sie den neuen öffentlichen Schlüssel in Virtualizor und auf Ihrem VPS hinzu und entfernen Sie anschließend den alten Schlüssel aus /root/.ssh/authorized_keys.
Fehlerbehebung
- SSH fordert nach dem Anwenden des Schlüssels weiterhin ein Passwort an: Überprüfen Sie, ob der Schlüssel in /root/.ssh/authorized_keys auf dem VPS eingetragen wurde, indem Sie sich einmalig mit Ihrem Passwort anmelden und cat /root/.ssh/authorized_keys ausführen. Stellen Sie außerdem sicher, dass die Berechtigungen für das Verzeichnis .ssh auf 700 und für authorized_keys auf 600 gesetzt sind.
- Permission denied (publickey): Stellen Sie sicher, dass Sie sich als der richtige Benutzer verbinden (standardmäßig root). Vergewissern Sie sich, dass PubkeyAuthentication yes in /etc/ssh/sshd_config auf dem VPS gesetzt ist.