Mit einem SSH-Schlüssel meldest du dich an, ohne ein Passwort einzutippen, und wenn du Passwörter zusätzlich abschaltest, haben die Bots, die Kombinationen gegen deinen Server ausprobieren, nichts mehr zu erraten.
1. Erstelle deinen Schlüssel (auf deinem Rechner)
Windows 10/11, Mac und Linux haben SSH an Bord. Öffne ein Terminal (unter Windows PowerShell) und tippe:
ssh-keygen -t ed25519
Drücke Enter, um ihn am Standardort zu speichern, und vergib, wenn du willst, eine Passphrase. Im Ordner .ssh deines Benutzers entstehen zwei Dateien: id_ed25519 (privat: niemals weitergeben) und id_ed25519.pub (öffentlich).
2. Lade ihn auf den Server
Von Mac oder Linux:
ssh-copy-id root@203.0.113.10
Von Windows (PowerShell):
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Ein letztes Mal wirst du nach dem Passwort gefragt.
3. Teste ihn
ssh root@203.0.113.10
Wenn du ohne das Server-Passwort hineinkommst, funktioniert es. Geh nicht zu Schritt 4, wenn es nicht funktioniert hat.
4. SSH-Passwörter deaktivieren
Lass die vorherige Sitzung offen (zur Sicherheit) und führe auf dem Server aus:
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-nur-schluessel.conf
sshd -t && systemctl restart ssh
Unter Rocky Linux 8 änderst du direkt die Zeile PasswordAuthentication in /etc/ssh/sshd_config auf no, und der Dienst heißt sshd: systemctl restart sshd.
Der Dateiname beginnt absichtlich mit 00-: Bei SSH gilt der zuerst gelesene Wert, und manche Images bringen eine andere Datei mit, die Passwörter wieder aktiviert.
Öffne ein zweites Terminal und prüfe, ob du dich weiterhin mit dem Schlüssel anmelden kannst, bevor du das erste schließt.
Wenn du den Schlüssel verlierst
Die VNC-Konsole des Panels nutzt kein SSH, dort funktioniert das Passwort also weiterhin. Wenn du es nicht mehr weißt, erzeuge unter Einstellungen → Passwort zurücksetzen ein neues, melde dich über VNC an und füge deinen neuen Schlüssel zu /root/.ssh/authorized_keys hinzu.
Für Dateiübertragungen (WinSCP, FileZilla) nutzt du denselben privaten Schlüssel: so lädst du Dateien hoch.