SSH gehört zu den wichtigsten Diensten auf einem Linux-Server. Standardmäßig lauscht der SSH-Server auf Port 22. Da dieser Port weltweit bekannt ist, wird er permanent von Bots und Angreifern gescannt. Eine häufig empfohlene Maßnahme zur Reduzierung automatisierter Angriffe ist die Verlagerung des SSH-Dienstes auf einen anderen Port, beispielsweise 2222.
In diesem Beitrag zeige ich Schritt für Schritt, wie du unter Debian 13 den SSH-Port sicher von 22 auf 2222 umstellst und dabei vermeidest, dich versehentlich vom Server auszusperren.
Warum den SSH-Port ändern?
Die Änderung des SSH-Ports ist keine echte Sicherheitsmaßnahme im Sinne einer Härtung gegen gezielte Angriffe. Sie reduziert jedoch die Menge automatisierter Login-Versuche erheblich.
Typische Vorteile:
- Weniger automatisierte Brute-Force-Angriffe
- Weniger Einträge in den Logdateien
- Entlastung von Fail2Ban und Intrusion-Detection-Systemen
- Weniger unnötige SSH-Verbindungen durch Bots
Wichtig:
Das Ändern des Ports ersetzt keine sicheren Passwörter, SSH-Schlüssel oder Fail2Ban.
Voraussetzungen
Für die folgenden Schritte benötigst du:
- Debian 13 mit installiertem OpenSSH-Server
- Root-Zugriff oder sudo-Rechte
- Einen bestehenden SSH-Zugang
Prüfe zunächst, ob der SSH-Server installiert ist:
systemctl status ssh
Die Ausgabe sollte etwa so aussehen:
● ssh.service - OpenBSD Secure Shell server
Active: active (running)
Schritt 1: Aktuelle SSH-Konfiguration sichern
Vor Änderungen empfiehlt sich immer ein Backup.
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Damit kannst du die ursprüngliche Konfiguration jederzeit wiederherstellen.
Schritt 2: SSH-Konfiguration bearbeiten
Öffne die Konfigurationsdatei:
nano /etc/ssh/sshd_config
Suche nach der Zeile:
#Port 22
oder
Port 22
Ändere sie zu:
Port 2222
Das Ergebnis sollte beispielsweise so aussehen:
Port 2222 PermitRootLogin prohibit-password PubkeyAuthentication yes PasswordAuthentication yes
Speichere die Datei anschließend.
Schritt 3: Konfiguration prüfen
Bevor der SSH-Dienst neu gestartet wird, sollte die Konfiguration geprüft werden.
sshd -t
Wenn keine Ausgabe erscheint, ist die Konfiguration gültig.
Bei Fehlern erhältst du eine Meldung wie:
/etc/ssh/sshd_config line 15: Bad configuration option
In diesem Fall musst du die Datei korrigieren.
Schritt 4: Firewall anpassen
Falls UFW verwendet wird, muss der neue Port freigegeben werden.
Neuen SSH-Port erlauben:
ufw allow 2222/tcp
Überprüfen:
ufw status
Beispiel:
2222/tcp ALLOW Anywhere
Den alten Port solltest du erst entfernen, nachdem der neue erfolgreich getestet wurde.
Schritt 5: SSH-Dienst neu starten
Nun wird die Konfiguration aktiviert:
systemctl restart ssh
Status prüfen:
systemctl status ssh
Schritt 6: Prüfen, ob SSH auf Port 2222 lauscht
Mit dem Befehl:
ss -tulpn | grep ssh
solltest du eine Ausgabe wie diese erhalten:
tcp LISTEN 0 128 0.0.0.0:2222 0.0.0.0:* users:(("sshd",pid=1234))
Alternativ:
netstat -tulpn | grep ssh
Schritt 7: Neue Verbindung testen
Wichtig:
Die bestehende SSH-Sitzung noch nicht schließen!
Öffne stattdessen ein neues Terminal und teste die Verbindung:
ssh -p 2222 benutzer@server-ip
Beispiel:
ssh -p 2222 root@192.168.1.100
Funktioniert die Anmeldung, ist die Umstellung erfolgreich.
Schritt 8: Alten Port 22 schließen
Erst nachdem die Verbindung über Port 2222 funktioniert, sollte Port 22 entfernt werden.
Bei UFW:
ufw delete allow 22/tcp
Danach erneut prüfen:
ufw status
Optional: Root-Login zusätzlich absichern
Für eine höhere Sicherheit empfiehlt sich:
PermitRootLogin no
oder:
PermitRootLogin prohibit-password
Zusätzlich können SSH-Schlüssel verwendet werden:
PubkeyAuthentication yes PasswordAuthentication no
Dadurch sind Passwortangriffe praktisch wirkungslos.
Optional: Fail2Ban anpassen
Falls Fail2Ban installiert ist, muss normalerweise nichts geändert werden.
Fail2Ban erkennt den neuen SSH-Port automatisch über die SSH-Logs.
Zur Kontrolle:
fail2ban-client status sshd
Optional: UFW-Regeln weiter einschränken
Noch sicherer wird es, wenn SSH nur aus bestimmten Netzen erreichbar ist.
Beispiel:
ufw allow from 192.168.1.0/24 to any port 2222 proto tcp
Oder für eine feste öffentliche IP:
ufw allow from 203.0.113.10 to any port 2222 proto tcp
Dadurch können nur bekannte Standorte auf den SSH-Dienst zugreifen.
Fehlerbehebung
Verbindung nicht möglich
Prüfen:
ss -tulpn | grep 2222
Firewall blockiert Zugriff
Prüfen:
ufw status numbered
SSH startet nicht
Logs ansehen:
journalctl -u ssh -n 50
Konfigurationsfehler finden
sshd -t
Fazit
Die Verlagerung des SSH-Dienstes von Port 22 auf Port 2222 ist unter Debian 13 in wenigen Minuten erledigt und reduziert die Anzahl automatisierter Angriffe deutlich. In Kombination mit SSH-Schlüsseln, Fail2Ban, UFW und deaktivierten Passwortanmeldungen entsteht eine deutlich robustere SSH-Konfiguration.
Die wichtigste Regel dabei lautet:
Erst die neue Verbindung testen, dann den alten Port schließen. So vermeidest du, dich versehentlich vom eigenen Server auszusperren.