SSH auf einem Linux-VPS konfigurieren
SSH ist das Tor zu Ihrem Server. Die Standardkonfiguration ist nicht optimal: Root-Login aktiviert, Passwortauthentifizierung, Standardport — alles, wonach Scan-Bots suchen. Das ändern wir jetzt.
Die Datei, die wir bearbeiten, ist /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Behalten Sie Ihre aktuelle SSH-Sitzung offen und testen Sie Änderungen in einem zweiten Terminal. Falls Sie sich aussperren, ermöglicht die offene Sitzung, das Problem zu beheben, ohne die Webkonsole zu verwenden.
SSH-Port ändern
Der Standardport 22 ist das erste Ziel automatischer Scans. Ein anderer Port reduziert das Rauschen in den Logs erheblich.
Port 2222
Wählen Sie einen Port über 1024 und notieren Sie ihn — Sie benötigen ihn für jede Verbindung.
Öffnen Sie den neuen Port in Ihrer Firewall (z. B. UFW), bevor Sie SSH neu starten, sonst sperren Sie sich aus. Siehe unseren Artikel zu UFW.
Root-Login deaktivieren
Nachdem Sie einen Nicht-Root-Benutzer mit sudo-Rechten erstellt haben, gibt es keinen Grund, Root-Verbindungen per SSH zu erlauben.
PermitRootLogin no
Diese Einstellung erhöht die Sicherheit erheblich: Angreifer müssen Benutzername und Passwort (oder Key) erraten statt nur das Root-Passwort.
Auf Key-basierte Authentifizierung umstellen
Ein SSH-Key ist deutlich sicherer als ein Passwort.
Auf Ihrem lokalen Rechner erzeugen Sie ein Schlüsselpaar (sofern noch nicht vorhanden):
ssh-keygen -t ed25519
Kopieren Sie den öffentlichen Schlüssel auf den Server:
ssh-copy-id -p 2222 john@your-ip
Testen Sie, ob die Key-Authentifizierung funktioniert, bevor Sie die Passwortauthentifizierung deaktivieren:
PasswordAuthentication no
Deaktivieren Sie die Passwortauthentifizierung nie, ohne zuvor in einer separaten Sitzung geprüft zu haben, dass Key-Login funktioniert.
Login-Versuche begrenzen
Zwei hilfreiche Einstellungen gegen Brute-Force-Angriffe:
MaxAuthTries 3
LoginGraceTime 30
Zugriff auf bestimmte Benutzer beschränken
Wenn nur wenige Accounts SSH-Zugang benötigen, ist es sinnvoll, sie explizit zu erlauben:
AllowUsers john marie
Alle anderen Benutzer werden auf SSH-Ebene abgewiesen, auch wenn ihre Accounts existieren.
Änderungen anwenden
Prüfen Sie die Syntax der Konfiguration vor dem Neustart:
sudo sshd -t
Wenn keine Fehler angezeigt werden, starten Sie SSH neu:
sudo systemctl restart sshd
Wichtig: Belassen Sie die alte Sitzung offen, während Sie die neue Verbindung testen (ssh -p 2222 john@your-ip).
Zusammenfassung
Individueller Port, deaktiviertes Root-Login, Key-Authentifizierung — das sind die wichtigsten Einstellungen, um Ihren SSH-Zugang zu sichern. Prüfen Sie anschließend unsere Anleitung zu UFW für die Firewall-Konfiguration.
Treten Sie unserem Discord bei, wir helfen gern.