Zum Hauptinhalt springen

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
Offene Sitzung behalten

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.

Warnung

Ö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
Testen vor Deaktivierung

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.

Fragen?

Treten Sie unserem Discord bei, wir helfen gern.