Bitte verwenden sie die "Drucken" Funktion am Seitenende, um ein PDF zu erstellen.
Für VPS+, VPS, Cloud Server, Dedicated Server und Bare Metal Server
In diesem Artikel wird erklärt, wie Sie den Standard-SSH-Port ändern, um die Sicherheit Ihres Servers zu erhöhen.
Standardmäßig ist der Port 22 für den Aufbau einer SSH-Verbindung vorgesehen. Dieser Port wird während der Installation Ihres Betriebssystems automatisch eingetragen.
Um die Zahl der Brute-Force-Angriffe zu reduzieren, können Sie einen anderen Port für den SSH-Zugriff konfigurieren.
Achtung
Stellen Sie vor der Änderung des Ports sicher, dass die auf dem Server installierten Anwendungen und Dienste auch mit einem benutzerdefinierten Port konfiguriert werden können. Anderenfalls kann eine Änderung des Standardports dazu führen, dass diese Anwendungen und Dienste nicht mehr funktionieren.
Stellen Sie außerdem vor der Änderung des Ports sicher, dass der von Ihnen gewählte Port in der Firewall freigegeben ist.
SSH-Port unter Ubuntu 22.04, Ubuntu 24.04, Debian 11 und Debian 12 ändern
So ändern Sie den SSH-Port:
Loggen Sie sich auf dem Server als Administrator ein.
Öffnen Sie die SSH-Konfigurationsdatei sshd_config mit dem Texteditor vi:
vi /etc/ssh/sshd_config
Suchen Sie den Eintrag Port 22.
Ersetzen Sie den Port 22 durch einen Port im Bereich von 1024 bis 65535.
Hinweis
Der Editor vi verfügt über einen Einfügemodus und einen Befehls- oder Kommandomodus. Den Einfügemodus können Sie mit der Taste [i] aufrufen. In diesem Modus werden die eingegebenen Zeichen sofort in den Text eingefügt. Um den Befehlsmodus aufzurufen, drücken Sie anschließend [ESC]. Wenn Sie den Befehlsmodus nutzen, werden Ihre Tastatureingaben als Befehl interpretiert.
Achtung
Stellen Sie sicher, dass der gewählte Port nicht für andere Dienste verwendet wird. Dies können Sie mithilfe der folgenden Portliste tun, die von der Internet Assigned Numbers Authority (IANA) zur Verfügung gestellt wird:
Service Name and Transport Protocol Port Number Registry
Alternativ können Sie die Auflistung der Ports in der Datei /etc/services einsehen.
Um vi zu beenden und die Datei zu speichern, geben Sie den Befehl :wq ein und drücken Sie anschließend Enter.
Führen Sie einen Neustart des SSH-Dienstes durch. Geben Sie hierzu den unten stehenden Befehl ein. Falls Sie als root eingeloggt sind, können Sie sudo weglassen.
sudo systemctl restart ssh
Um den Status des Dienstes zu prüfen, geben Sie den unten stehenden Befehl ein. Falls Sie als root eingeloggt sind, können Sie sudo weglassen.
sudo systemctl status ssh
Um nach dieser Änderung eine SSH-Verbindung herzustellen, geben Sie den folgenden Befehl ein:
ssh root@IP-Adresse_des_Servers -p NeuerPort
SSH-Port unter Rocky Linux 8, Rocky Linux 9, AlmaLinux 8, AlmaLinux 9 und 10 ändern
- Loggen Sie sich auf dem Server als Administrator ein.
Öffnen Sie die SSH-Konfigurationsdatei sshd_config mit dem Texteditor vi:
vi /etc/ssh/sshd_config
- Suchen Sie den Eintrag Port 22.
- Ersetzen Sie den Port 22 durch einen Port im Bereich von 1024 bis 65535.
- Optional: Wenn in der Zeile Port das Rautezeichen am Anfang der Zeile steht, müssen Sie dieses entfernen, damit der Port in der Konfiguration berücksichtigt wird.
Hinweis
Der Editor vi verfügt über einen Einfügemodus und einen Befehls- oder Kommandomodus. Den Einfügemodus können Sie mit der Taste [i] aufrufen. In diesem Modus werden die eingegebenen Zeichen sofort in den Text eingefügt. Um den Befehlsmodus aufzurufen, drücken Sie anschließend [ESC]. Wenn Sie den Befehlsmodus nutzen, werden Ihre Tastatureingaben als Befehl interpretiert.
Achtung
Stellen Sie sicher, dass der gewählte Port nicht für andere Dienste verwendet wird. Dies können Sie mithilfe der folgenden Portliste tun, die von der Internet Assigned Numbers Authority (IANA) zur Verfügung gestellt wird:
Service Name and Transport Protocol Port Number Registry
Alternativ können Sie die Auflistung der Ports in der Datei /etc/services einsehen.
- Um vi zu beenden und die Datei zu speichern, geben Sie den Befehl :wq ein und drücken Sie anschließend Enter.
Wenn SELinux aktiviert ist (Standard bei Rocky/AlmaLinux), müssen Sie den neuen Port dem SELinux-Kontext hinzufügen, bevor Sie den Dienst neu starten. Hierzu geben Sie den folgenden Befehl ein:
semanage port -a -t ssh_port_t -p tcp MEIN_NEUER_PORT
Beispiel:
semanage port -a -t ssh_port_t -p tcp 22222
Hinweis
Wenn der Befehl semanage nicht gefunden wird, geben Sie den folgenden Befehl ein, um das as benötigte Paket zu installieren:
dnf install policycoreutils-python-utils
Um die SELinux-Konfiguration (Security-Enhanced Linux) zu prüfen, geben Sie den unten stehenden Befehl ein. Dieser Befehl zeigt an, welche Netzwerk-Ports laut den aktuellen Sicherheitsrichtlinien für den SSH-Dienst zugelassen sind.
semanage port -l | grep ssh
Führen Sie einen Neustart des SSH-Dienstes durch.
systemctl restart sshd
Um den Status des Dienstes zu prüfen, geben Sie den folgenden Befehl ein:
systemctl status sshd
Um nach dieser Änderung eine SSH-Verbindung herzustellen, geben Sie den folgenden Befehl ein:
ssh root@IP-Adresse_des_Servers -p NeuerPort
Beispiel:
ssh root@IP-Adresse_des_Servers -p 22222
SSH-Port unter Debian 13 ändern
Ab Debian 13 wird der Port nicht mehr vom SSH-Dienst selbst, sondern vom System (systemd) verwaltet. Daher müssen Sie die Systemeinstellung anpassen.Der Port wird daher am Socket eingestellt, nicht in /etc/ssh/sshd_config.
Achtung
- Lassen Sie Ihre bestehende SSH-Sitzung geöffnet, bis die neue Verbindung funktioniert.
- Wählen Sie einen freien Port zwischen 1024 und 65535 (Beispiel: 22222).
- Öffnen Sie den neuen Port in der internen Firewall sowie in den Firewall-Richtlinien des Cloud Panels
- Stellen Sie sicher, dass ein alternativer Benutzer mit sudo‑Rechten existiert und per SSH funktioniert.
- Entfernen Sie Port 22 erst nach erfolgreichem Test.
- Loggen Sie sich auf dem Server als Administrator ein.
Um zu prüfen, ob der Dienst ssh.socket aktiv ist, geben Sie den folgenden Befehl ein:
systemctl is-active ssh.socket
Um zu prüfen, ob der Dienst ssh.service aktiv ist, geben Sie den folgenden Befehl ein:
systemctl is-active ssh.service
Hinweis
Auf Debian 13 ist normalerweise ssh.socket aktiv. Falls ssh.service zusätzlich aktiv ist, bleibt Port 22 offen, bis er deaktiviert wird.
Um den Konfigurations-Editor zu öffnen, geben Sie den folgenden Befehl ein:
systemctl edit ssh.socket
Geben Sie in dem sich öffnenden Texteditor folgende Informationen ein:
[Socket]
ListenStream=
ListenStream=0.0.0.0:NEUER_PORT
ListenStream=[::]:NEUER_PORTBeispiel:
[Socket]
ListenStream=0.0.0.0:22222
ListenStream=[::]:22222
Der Eintrag ListenStream= (leer) löscht den alten Standard-Port 22. Der Eintrag ListenStream=22222 setzt den neuen Port.Wenn sich der Editor Nano öffnet (Standard): Drücken Sie STRG + O und Enter zum Speichern, dann STRG + X zum Beenden. Geben Sie anschließend ggf. Y ein und drücken Sie Enter.
Wenn sich der Editor Vi/Vim öffnet: Drücken Sie Esc, tippen Sie :wq und drücken Sie Enter.Um die Änderungen zu übernehmen und sicherzustellen, dass nur der Socket aktiv ist, geben Sie die folgenden Befehle ein:
systemctl daemon-reload
systemctl disable --now ssh.service
Um den Socket neu zu starten, geben Sie die folgenden Befehle ein:
systemctl restart ssh.socket
systemctl enable ssh.socket
Öffnen Sie ein weiteres Terminal- oder PuTTY-Fenster.
Geben Sie im Feld Host Name die IP-Adresse des Servers ein.
Geben Sie im Feld Port den neuen Port ein.
Klicken Sie auf OK.
Loggen Sie sich auf dem Server ein. Wenn die Anmeldung funktioniert, können Sie die alte Sitzung schließen und Port 22 in der Firewall entfernen.
Um zu prüfen, ob nur der neue SSH-Port aktiv ist, geben Sie den folgenden Befehl ein:
ss -lntp | grep -E ':(22|NEUER_PORT)'
Den Socket-Status prüfen Sie mit dem folgenden Befehl:
systemctl status ssh.socket
Um die effektive Socket-Konfiguration anzuzeigen, geben Sie den folgenden Befehl ein:
systemctl cat ssh.socket
Hinweis
Wenn die Anmeldung nicht funktioniert, prüfen Sie Ihre Firewall-Einstellungen und machen Sie die Änderungen ggf. wieder rückgängig.