Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

So änderst du den SSH-Port unter Linux

So änderst du den SSH-Port unter Linux (Titelbild)

Jeder Bot im Internet weiß, dass SSH auf Port 22 läuft. Das ist die erste Tür, an der sie klopfen. Innerhalb von Minuten nach dem Aufsetzen eines frischen Linux-Servers siehst du Login-Versuche von IPs, von denen du noch nie gehört hast, die mit Wörterbuch-Angriffen auf die Standard-SSH-Portnummer hämmern. Die Logs füllen sich schnell.

Den Standard-SSH-Port zu ändern macht deinen Server nicht unverwundbar. Das muss klar sein. Aber es beseitigt den Großteil des automatisierten Brute-Force-Rauschens, und allein das ist die zwei Minuten wert. Stell es dir so vor: Du verlegst deine Eingangstür in eine Seitenstraße, in die sich Script-Kiddies gar nicht erst verirren.

Dieser Leitfaden führt dich durch jeden Schritt: neuen Port wählen, ’sshd_config‘ bearbeiten, Firewall-Regeln aktualisieren, den Dienst neu starten und prüfen, ob alles funktioniert. Nichts Kompliziertes. Einfach die Befehle, die du auf einem Linux-VPS brauchst.

Einen neuen SSH-Port wählen

Bevor du irgendwelche Konfigurationsdateien anfasst, musst du entscheiden, auf welchen Port du SSH verschieben willst. Wählst du den falschen, kollidierst du mit einem anderen Dienst. Wählst du einen offensichtlichen, war die Mühe umsonst.

Hier die Kurzreferenz für gängige SSH-Ports und Well-Known Ports, die du unbedingt meiden musst:

PortDienstProtokoll
20/21FTPTCP
22SSHTCP
23TelnetTCP
25SMTPTCP
53DNSTCP/UDP
80HTTPTCP
110POP3TCP
143IMAPTCP
443HTTPSTCP
3306MySQLTCP
8080HTTP altTCP
8443HTTPS-altTCP

Der Bereich der Well-Known Ports umfasst 0 bis 1023. Diese gehören zu privilegierten Diensten, und dein Betriebssystem erwartet, dass das so bleibt. Der Bereich der registrierten Ports, 1024 bis 49151, beherbergt Dinge wie Datenbanken, Application Server und andere Software, die ihren Platz bereits beansprucht hat.

Am besten nimmst du den Bereich der dynamischen oder privaten Ports: 49152 bis 65535. Dort ist nichts vorab zugewiesen. Wähle etwas Zufälliges in diesem Bereich, etwa 51832 oder 62419, und du wirst kaum auf Konflikte stoßen. Vermeide „clevere“ Wahlen wie 2222 oder 2200. Das sind die Ports, die Angreifer nach Port 22 als nächstes prüfen.

So änderst du den Standard-SSH-Port

Du hast deine Portnummer. Jetzt ändern wir den Port tatsächlich. Der Ablauf ist derselbe, egal ob du Ubuntu, Debian, CentOS oder eine andere gängige Linux-Distribution nutzt. Fünf Schritte, und du solltest deine aktuelle SSH-Session die gesamte Zeit offen lassen. Falls etwas schiefgeht, ist diese offene Session deine Rettungsleine.

Per SSH mit dem Server verbinden

Öffne ein Terminal. Unter macOS oder Linux ist es bereits integriert. Unter Windows lädst du PuTTY herunter oder nutzt den integrierten OpenSSH-Client ab Windows 10. Führe den SSH-Login-Befehl aus:

ssh username@server_ip

Gib dein Passwort ein, wenn du dazu aufgefordert wirst. Wenn du bereits SSH-Key-Authentifizierung eingerichtet hast (und das solltest du), wirst du direkt eingeloggt. So oder so: Verschaffe dir eine Root-Shell oder stelle sicher, dass du sudo ausführen kannst. Für alles, was folgt, brauchst du erhöhte Berechtigungen.

Die ’sshd_config‘ bearbeiten

Das Verhalten des SSH-Daemons wird über eine einzige Konfigurationsdatei gesteuert. Öffne sie:

sudo nano /etc/ssh/sshd_config

Scrolle, bis du die Zeile findest, die lautet #Port 22. Das Rautezeichen bedeutet, dass die Zeile auskommentiert ist, und SSH nutzt implizit den Standardport 22. Entferne das # und ändere 22 in deine gewählte Portnummer:

Port 51832

Das war es für die SSH-Konfigurationsdatei. Speichere und verlasse nano mit Strg+X, dann Y, dann Enter. Auf manchen neueren Ubuntu-Systemen (22.10+) nutzt SSH möglicherweise eine socket-basierte Konfiguration. Wenn deine sshd_config-Änderung nicht greift, prüfe /etc/ssh/sshd_config.d/ auf Override-Dateien oder schau dir systemd socket activation die Einstellungen an.

Firewall-Regeln für den neuen Port aktualisieren

Hier sperren sich die Leute gerne aus. Du hast SSH gesagt, dass es auf einem neuen Port lauschen soll, aber deine Firewall lässt weiterhin nur Traffic auf Port 22 durch. Wenn du SSH jetzt neu startest, war es das. Ausgesperrt. Game over.

Wenn du UFW nutzt (Standard bei Ubuntu und Debian), erlaube zuerst deinen neuen Port:

sudo ufw allow 51832/tcp

Neu laden zum Anwenden:

sudo ufw reload

Prüfe, ob die UFW-Firewall-Regeln aktiv sind:

sudo ufw status

Du solltest deinen neuen Port als ALLOW aufgelistet sehen. Wenn du firewalld nutzt (üblich auf CentOS/RHEL), lautet das Äquivalent:

sudo firewall-cmd --permanent --add-port=51832/tcp && sudo firewall-cmd --reload

Wenn du noch nie Firewall-Regeln konfiguriert hast und ufw status „inactive“ anzeigt, kannst du diesen Schritt überspringen. Aber du solltest das bald nachholen. Einen Server ohne Firewall zu betreiben ist eine Einladung für Probleme.

Den SSH-Dienst neu starten

Wende jetzt die neue Konfiguration an, indem du den SSH-Daemon neu startest. Auf jeder modernen Distribution mit systemd:

sudo systemctl restart sshd

Auf älteren Systemen mit SysVinit:

sudo service ssh restart

Prüfe, ob der Neustart sauber durchgelaufen ist:

sudo systemctl status sshd

Du willst „active (running)“ ohne Fehler sehen. Wenn es fehlgeschlagen ist, hast du einen Tippfehler in der sshd_config. Geh zurück und behebe ihn. Deine aktuelle Session läuft noch, du kannst also weiterhin Änderungen vornehmen.

Prüfen, ob der neue SSH-Port aktiv ist

Vertraue nicht einfach darauf, dass der Neustart funktioniert hat. Prüfe es. Zwei Dinge sind zu checken: Der Port ist offen, und du kannst dich tatsächlich darüber verbinden.

Den Port mit ’ss‘ oder ’netstat‘ prüfen

Der ss-Befehl ist der moderne Ersatz für ’netstat‘ unter Linux. Führe aus:

ss -tuln | grep 51832

Du solltest einen LISTEN-Eintrag auf deinem Port sehen. Wenn du den älteren ’netstat‘-Ansatz bevorzugst:

netstat -tuln | grep 51832

Gleiche Ausgabe, anderes Tool. Wenn nichts angezeigt wird, lauscht SSH nicht auf diesem Port. Geh zurück zur sshd_config-Datei und überprüfe deine Änderung nochmal.

Auf dem neuen SSH-Port einloggen

Öffne ein neues Terminalfenster. Schließe deine bestehende Session nicht. Teste die Verbindung mit dem -p Flag:

ssh -p 51832 username@server_ip

Wenn du eine Shell bekommst, passt alles. Die SSH-Port-Änderung hat funktioniert. Wenn die Verbindung hängt oder abgelehnt wird, stimmt etwas mit deinen Firewall-Regeln oder der ’sshd_config‘-Änderung nicht. Deine alte Session ist noch offen, also geh auf Fehlersuche.

Sobald du bestätigt hast, dass der neue Port funktioniert, kannst du optional die alte Port-22-Regel aus deiner Firewall entfernen:

sudo ufw deny 22/tcp && sudo ufw reload

Mach das erst, wenn du dir zu 100 % sicher bist, dass der neue Port funktioniert. Es gibt kein Zurück, wenn du dich aussperrst.

FAQ zur SSH-Port-Änderung

Warum den Standard-SSH-Port ändern?

Automatisierte SSH-Brute-Force-Angriffe zielen standardmäßig auf Port 22. Tausende Bots scannen ganze IP-Bereiche auf der Suche nach dieser offenen Tür. Ein Wechsel auf einen nicht standardmäßigen Port stoppt keinen entschlossenen Angreifer, der einen vollständigen Portscan durchführt, aber er beseitigt das automatisierte Grundrauschen. Deine Auth-Logs werden ruhiger. Dein ‚fail2ban‘ muß keine Überstunden mehr machen. Das ist grundlegende Sicherheitshygiene, kombiniert mit Maßnahmen wie SSH-Key-Authentifizierung und dem Deaktivieren des Root-Logins.

Welcher Port ist am besten für SSH?

Irgendeiner im Bereich 49152 bis 65535, den du dir merken kannst. Vermeide „kreative“ Ports wie 2222, 8022 oder 443 (der mit HTTPS kollidiert). Welche SSH-Portnummer du wählst, ist nicht so wichtig, solange es kein Well-Known Port ist, kein anderer Dienst auf deinem Server ihn nutzt und es nichts ist, was ein Angreifer beim zweiten Versuch erraten würde. Zufällig ist gut. Schreib ihn dir an einem sicheren Ort auf.

Beeinflußt die Änderung des SSH-Ports die Performance?

Nein. Keinerlei Auswirkung. Du änderst nur, an welcher nummerierten Tür der SSH-Daemon antwortet, nicht wie er Verbindungen verarbeitet. Verschlüsselung, Key-Austausch und Datenübertragung funktionieren identisch, unabhängig vom Port. Die Performance deines Linux-Servers bleibt exakt gleich. Das Einzige, was sich ändert, ist der Einstiegspunkt und die Tatsache, dass dein Server nicht mehr in oberflächlichen Portscans auftaucht, die auf den Standard-SSH-Port abzielen.

Nach oben scrollen