SSH absichern 2026: Server gegen Angriffe härten

Egal ob Vaultwarden, Pi-hole oder ein WireGuard-Server – sobald du etwas selbst hostest, ist SSH die Haustür zu deiner Maschine. Und diese Tür steht ab Werk weiter offen, als den meisten lieb ist: Automatisierte Bots scannen rund um die Uhr Port 22 und probieren Standard-Passwörter durch. Die gute Nachricht: Mit einer Handvoll Einstellungen wird aus dem Scheunentor ein Tresor. Diese Anleitung zeigt die wichtigsten Hardening-Schritte für 2026 – in der Reihenfolge, in der sie am meisten bringen.

Warum SSH-Hardening Pflicht ist

Ein frisch aufgesetzter Server bekommt innerhalb von Minuten den ersten Login-Versuch von einem fremden Rechner. Das sind keine gezielten Angriffe, sondern Bot-Netze, die das gesamte Internet nach offenen SSH-Ports absuchen und stumpf Benutzername-Passwort-Kombinationen durchprobieren.

  • Dein Server ist nur so sicher wie sein SSH-Zugang. Jeder Dienst dahinter – Passwort-Manager, Backups, Smart-Home – fällt mit, wenn jemand SSH-Zugriff erlangt.
  • Passwörter sind das schwächste Glied. Selbst ein gutes Passwort lässt sich theoretisch erraten; ein kryptografischer Schlüssel praktisch nicht.
  • Die Standardkonfiguration ist auf Bequemlichkeit optimiert, nicht auf Sicherheit – auf vielen Systemen ist der Root-Login per Passwort noch erlaubt.
Linux-Terminal mit Kommandozeile – SSH-Zugang per Schlüssel statt Passwort einrichten
SSH-Hardening passiert komplett in der Konsole – die wichtigsten Schritte sind in unter 20 Minuten erledigt.

Schritt 1: Schlüssel statt Passwort

Der wichtigste Schritt überhaupt: Passwort-Login abschalten und durch einen SSH-Schlüssel ersetzen. Ein Schlüsselpaar besteht aus einem privaten Schlüssel, der auf deinem Rechner bleibt, und einem öffentlichen, der auf den Server kommt.

# Modernen ed25519-Schlüssel erzeugen
ssh-keygen -t ed25519 -C "mein-laptop"

# Öffentlichen Schlüssel auf den Server kopieren
ssh-copy-id benutzer@server-ip

Vergib beim Erzeugen unbedingt eine Passphrase für den privaten Schlüssel – sie schützt ihn, falls dein Laptop in falsche Hände gerät. Teste anschließend, ob der Login per Schlüssel sauber funktioniert. Erst danach deaktivierst du den Passwort-Login (nächster Schritt).

Schritt 2: Die wichtigsten sshd_config-Einstellungen

Die zentrale Konfigurationsdatei liegt unter /etc/ssh/sshd_config. Diese Zeilen solltest du setzen beziehungsweise anpassen:

# Kein Root-Login über SSH
PermitRootLogin no

# Passwort-Login komplett aus – nur noch Schlüssel
PasswordAuthentication no
KbdInteractiveAuthentication no

# Nur bestimmte Benutzer zulassen
AllowUsers benutzer

# Login-Versuche pro Verbindung begrenzen
MaxAuthTries 3

Nach dem Speichern den Dienst neu laden mit sudo systemctl reload sshd. Wichtig: Lass während der Umstellung eine zweite SSH-Sitzung offen – falls du dich aussperrst, kommst du so noch rein. Den SSH-Port zu ändern reduziert zwar das Bot-Rauschen in den Logs, ist aber reine Security-by-Obscurity und kein echter Schutz.

Konfigurationsdatei im Konsolen-Editor – die wichtigsten sshd_config-Einstellungen anpassen
Die sshd_config ist das Herzstück: Root-Login aus, Passwort-Login aus, nur erlaubte Benutzer rein.

Schritt 3: Fail2ban gegen Brute-Force

Auch mit deaktiviertem Passwort-Login hämmern Bots weiter gegen deinen Port. Fail2ban liest die SSH-Logs mit und sperrt IP-Adressen automatisch aus, sobald sie zu oft scheitern.

# Debian / Ubuntu
sudo apt install fail2ban

# Arch / CachyOS
sudo pacman -S fail2ban

sudo systemctl enable --now fail2ban

Das mitgelieferte sshd-Jail ist meist schon aktiv. In /etc/fail2ban/jail.local lassen sich Sperrdauer und Toleranz anpassen. Mit sudo fail2ban-client status sshd siehst du, wie viele Angreifer schon geblockt wurden – meist überraschend viele.

Schritt 4: Zusätzliche Härtung

Wer auf Nummer sicher gehen will, legt noch eine Schicht drauf:

  • Zwei-Faktor-Authentifizierung. Mit einem PAM-Modul lässt sich SSH zusätzlich mit einem TOTP-Code aus einer Authenticator-App absichern – selbst ein gestohlener Schlüssel reicht dann nicht mehr.
  • Firewall davor. Eine einfache Regel mit ufw oder nftables, die SSH nur aus bestimmten Netzen oder über ein VPN erlaubt, nimmt den Port komplett aus dem öffentlichen Internet.
  • System aktuell halten. SSH-Sicherheitslücken sind selten, aber wenn, dann kritisch. Regelmäßige Updates sind Pflicht.
  • Unbenutzte Zugänge entfernen. Alte Benutzerkonten und verwaiste Schlüssel in ~/.ssh/authorized_keys regelmäßig aufräumen.
Vorhängeschloss als Symbol für einen gehärteten, gegen Brute-Force-Angriffe abgesicherten Server
Schlüssel-Login, saubere sshd_config und Fail2ban machen die Server-Haustür für Bot-Angriffe schlicht uninteressant.

Fazit

SSH-Hardening folgt einer klaren Prioritätenliste: Schlüssel statt Passwort ist die halbe Miete, eine saubere sshd_config und Fail2ban erledigen den größten Rest. Das ist keine halbe Stunde Arbeit – und danach ist die Haustür deines Servers für die üblichen Bot-Angriffe schlicht uninteressant. Wer mehrere Dienste selbst hostet, sollte diesen Schritt nicht als optional betrachten, sondern als Fundament.


📖 Passende Artikel: WireGuard VPN-Server selbst hosten · Tailscale 2026: Mesh-VPN einrichten

Bildquellen: Wikimedia Commons (CC BY-SA 3.0, CC BY-SA 4.0, CC BY 3.0, GPL).

Schreibe einen Kommentar

Nach oben scrollen