Passwörter für SSH werden erraten. Schlüssel nicht. Die Umstellung Ihres VPS auf schlüsselbasierte Anmeldung ist das größte einzelne Sicherheits-Upgrade, das Sie vornehmen können, und dauert etwa fünf Minuten.
So funktionieren SSH-Schlüssel
Sie erzeugen ein Paar aus zwei Dateien. Der private Schlüssel bleibt auf Ihrem Computer und wird nie weitergegeben. Der öffentliche Schlüssel kommt auf den Server. Beim Verbinden fordert der Server Ihren Computer auf zu beweisen, dass er den passenden privaten Schlüssel besitzt, ohne dass der Schlüssel jemals das Netzwerk durchquert.
1. Ein Schlüsselpaar erstellen
ssh-keygen -t ed25519 -C "me@laptop"
Ed25519-Schlüssel sind kurz, schnell und modern. Wählen Sie auf Nachfrage eine Passphrase, damit ein gestohlener Laptop nicht einen gestohlenen Server bedeutet. Unter Windows 10 und 11 funktioniert derselbe Befehl in PowerShell.
2. Den öffentlichen Schlüssel auf den Server kopieren
ssh-copy-id user@your.server.ip
Ohne ssh-copy-id hängen Sie den Inhalt von ~/.ssh/id_ed25519.pub an ~/.ssh/authorized_keys auf dem Server an und führen dann chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys aus.
3. Testen, bevor Sie Passwörter abschalten
Öffnen Sie ein zweites Terminal und melden Sie sich mit dem Schlüssel an. Lassen Sie Ihre erste Sitzung offen, bis dies funktioniert, damit ein Fehler Sie nicht aussperren kann.
4. Passwort-Anmeldung deaktivieren
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
Die Prüfung mit sshd -t fängt Tippfehler ab, bevor sie Ihren Zugang unterbrechen können. Auf manchen Systemen heißt der Dienst sshd statt ssh.
5. Eine aufgeräumte Client-Konfiguration
# ~/.ssh/config
Host myvps
HostName your.server.ip
User deploy
IdentityFile ~/.ssh/id_ed25519
Jetzt müssen Sie nur noch ssh myvps eingeben.
Bewährte Praxis
- Verwenden Sie pro Gerät einen eigenen Schlüssel, damit Sie einen widerrufen können, ohne die anderen anzufassen.
- Verwenden Sie
ssh-agent, damit Sie die Passphrase nur einmal pro Sitzung eingeben. - Entfernen Sie Schlüssel aus
authorized_keys, wenn ein Gerät verloren geht oder ein Mitarbeiter ausscheidet. - Fügen Sie fail2ban hinzu, um das Log-Rauschen zu verringern, wie in unserer 15-Minuten-Absicherungs-Checkliste.