Ändern des SSH-Ports | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

Ändern des SSH-Ports

Das Ändern des standardmäßigen SSH-Ports (22) verringert die Angriffsfläche gegenüber automatisierten Scans und einfachen Brute-Force-Angriffen, ersetzt jedoch keine geeigneten Sicherheitsmaßnahmen.

Warning

Bevor Sie Änderungen vornehmen, stellen Sie sicher, dass eine aktive SSH-Sitzung geöffnet ist. Schließen Sie diese nicht, bevor Sie überprüft haben, dass der neue Port funktioniert. Andernfalls können Sie den Zugriff auf den Server verlieren.

Portnummer auswählen

Wählen Sie eine Portnummer oberhalb von 1024. Ports im Bereich 49152–65535 überschneiden sich seltener mit anderen bekannten Diensten. Vermeiden Sie häufig verwendete Alternativen wie 2222 oder 22222, da diese häufig von automatisierten Scannern angegriffen werden. In dieser Anleitung wird 22777 als Beispiel verwendet.

Konfigurationsdatei sichern

Erstellen Sie vor Änderungen eine Sicherungskopie der SSH-Konfigurationsdatei:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

SSH-Port unter Ubuntu und Debian ändern

Ab Debian 12 und einigen neueren Ubuntu-Versionen (22.04+) verwendet SSH möglicherweise standardmäßig die systemd-Socket-Aktivierung. In diesem Fall reicht es häufig nicht aus, lediglich die Direktive Port in sshd_config zu ändern.

Prüfen Sie zunächst, ob die Socket-Aktivierung aktiv ist:

systemctl is-active ssh.socket

Wenn der Befehl active zurückgibt, konfigurieren Sie den SSH-Socket für die Verwendung des neuen Ports.

Erstellen Sie eine systemd-Überschreibung für den SSH-Socket:

systemctl edit ssh.socket

Fügen Sie folgenden Inhalt hinzu:

[Socket] ListenStream= ListenStream=22777

Die leere Zeile ListenStream= entfernt den Standardport (22). Ohne diese Zeile kann SSH sowohl auf Port 22 als auch auf dem neuen Port lauschen.

Für eine zusätzliche Zuverlässigkeit sollten Sie den Port auch in der SSH-Konfiguration festlegen. Dies unterstützt den systemd-Generator und sorgt dafür, dass die Einstellung bei OpenSSH-Updates erhalten bleibt:

mkdir -p /etc/ssh/sshd_config.d echo "Port 22777" | tee /etc/ssh/sshd_config.d/10-port.conf

Info

Für eine bessere Kompatibilität können Sie die Adressen stattdessen explizit angeben:

[Socket] ListenStream= ListenStream=0.0.0.0:22777 ListenStream=[::]:22777

Speichern Sie die Konfiguration und wenden Sie die Änderungen an:

systemctl daemon-reload systemctl restart ssh.socket systemctl restart ssh

Überprüfen Sie, ob der Dienst ausgeführt wird:

systemctl status ssh.socket

Info

Auf einigen neueren Systemen, beispielsweise Ubuntu 24.04+, kann der systemd-Generator den Port automatisch aus sshd_config auslesen. In diesem Fall kann es ausreichen, Port direkt zu bearbeiten und anschließend systemctl daemon-reload sowie systemctl restart ssh.socket auszuführen. Die oben beschriebene Override-Methode funktioniert bei allen Versionen.

Ältere Ubuntu- und Debian-Versionen

Bei Ubuntu-Versionen vor 22.04 und Debian-Versionen vor 12 wird SSH nicht über die Socket-Aktivierung verwaltet. Öffnen Sie die SSH-Konfigurationsdatei:

nano /etc/ssh/sshd_config

Suchen Sie die folgende Zeile:

Port 22

Entkommentieren Sie die Zeile und ersetzen Sie 22 durch die gewünschte Portnummer:

Port 22777

Speichern Sie die Datei und überprüfen Sie die Konfiguration:

sshd -t

Wenn der Befehl nicht gefunden wird, verwenden Sie:

/usr/sbin/sshd -t

Wenn der Befehl keine Ausgabe zurückgibt, ist die Konfiguration gültig. Starten Sie den SSH-Dienst neu:

systemctl restart ssh

Socket-Aktivierung deaktivieren

Wenn Sie SSH lieber über den herkömmlichen Dienst statt über den Socket verwalten möchten, können Sie die Socket-Aktivierung deaktivieren:

systemctl disable --now ssh.socket systemctl enable --now ssh

Bearbeiten Sie anschließend sshd_config wie oben beschrieben und starten Sie SSH neu:

systemctl restart ssh

SSH-Port unter AlmaLinux, Rocky Linux und CentOS ändern

SSH-Konfigurationsdatei bearbeiten

Öffnen Sie die SSH-Konfigurationsdatei:

nano /etc/ssh/sshd_config

Suchen Sie die folgende Zeile:

Port 22

Entkommentieren Sie sie und ersetzen Sie 22 durch die gewünschte Portnummer:

Port 22777

Speichern Sie die Datei und überprüfen Sie die Konfiguration:

/usr/sbin/sshd -t

Wenn der Befehl keine Ausgabe zurückgibt, ist die Konfiguration gültig. Starten Sie den SSH-Dienst neu:

systemctl restart sshd

Überprüfen Sie, ob der Dienst ausgeführt wird:

systemctl status sshd

Port in SELinux freigeben

Auf Systemen mit aktiviertem SELinux müssen Sie den neuen Port auch in der SELinux-Richtlinie freigeben. Um zu prüfen, welche Ports derzeit für SSH zugelassen sind, führen Sie folgenden Befehl aus:

semanage port -l | grep ssh

Fügen Sie anschließend den neuen Port hinzu oder ändern Sie dessen Konfiguration:

semanage port -a -t ssh_port_t -p tcp 22777 || semanage port -m -t ssh_port_t -p tcp 22777

Wenn semanage nicht installiert ist, installieren Sie das erforderliche Paket:

dnf install policycoreutils-python-utils

Firewall konfigurieren

Geben Sie den neuen Port immer vor dem Neustart von SSH in der Firewall frei. Wenn Sie SSH zuerst neu starten, können Sie den Zugriff auf den Server verlieren.

UFW

ufw allow 22777/tcp ufw reload ufw status

firewalld

firewall-cmd --permanent --zone=public --add-port=22777/tcp firewall-cmd --reload

iptables

iptables -I INPUT -p tcp --dport 22777 -j ACCEPT iptables-save > /etc/iptables/rules.v4

Info

Der Befehl iptables-save speichert Regeln nur dann in einer Datei, wenn iptables-persistent auf dem System installiert und konfiguriert ist. Installieren Sie es mit:

apt install -y iptables-persistent

Überprüfen Sie, ob Ihre Distribution diese Datei verwendet, bevor Sie sich für die dauerhafte Speicherung darauf verlassen. Beachten Sie, dass moderne Systeme möglicherweise nftables anstelle von iptables verwenden. Wenn Sie nftables verwenden, fügen Sie in Ihrer nftables-Konfiguration eine Regel hinzu, die den neuen Port freigibt.

Fail2Ban konfigurieren

Wenn Fail2Ban auf dem Server konfiguriert ist, aktualisieren Sie den SSH-Port in dessen Konfiguration. Öffnen Sie /etc/fail2ban/jail.local oder die entsprechende Datei unter /etc/fail2ban/jail.d/ und setzen Sie:

port = 22777

Starten Sie Fail2Ban nach der Aktualisierung der Konfiguration neu:

systemctl restart fail2ban

Neuen Port überprüfen

Prüfen Sie, ob SSH auf dem neuen Port lauscht:

ss -tlnp | grep :22777

Alternativ können Sie alle SSH-bezogenen Listener anzeigen:

ss -tlnp | grep ssh

Auf älteren Systemen können Sie stattdessen netstat verwenden:

netstat -tlnp | grep :22777

Sie können auch den Status des Dienstes direkt überprüfen.

Unter Ubuntu und Debian:

systemctl status ssh.socket

Unter AlmaLinux, Rocky Linux und CentOS:

systemctl status sshd

Schließen Sie Ihre aktuelle SSH-Sitzung nicht. Öffnen Sie stattdessen ein neues Terminalfenster und verbinden Sie sich über den neuen Port:

ssh root@YOUR_SERVER_IP -p 22777

Wenn die Verbindung erfolgreich hergestellt wird, können Sie die alte Sitzung schließen. Entfernen Sie anschließend Port 22 aus den Firewall-Regeln, wenn er nicht mehr benötigt wird.

Für UFW:

ufw delete allow 22/tcp ufw reload

Für firewalld:

firewall-cmd --permanent --zone=public --remove-port=22/tcp firewall-cmd --reload

Warning

Entfernen Sie Port 22 nicht aus der Firewall, bevor Sie überprüft haben, dass der neue Port funktioniert. Wenn die neue Verbindung fehlschlägt, verwenden Sie die geöffnete SSH-Sitzung, um das Problem zu beheben oder die Änderungen rückgängig zu machen:

systemctl revert ssh.socket cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config rm -f /etc/ssh/sshd_config.d/10-port.conf systemctl daemon-reload systemctl restart ssh.socket

Wenn die Socket-Aktivierung deaktiviert ist, ersetzen Sie die letzten beiden Befehle durch:

systemctl restart ssh

Fazit

Das Ändern des standardmäßigen SSH-Ports von 22 auf einen benutzerdefinierten Port kann die Angriffsfläche gegenüber automatisierten Scans und einfachen Brute-Force-Versuchen verringern. Das Ändern des Ports sollte jedoch als zusätzliche Sicherheitsmaßnahme betrachtet werden und nicht als Ersatz für eine ordnungsgemäße Absicherung von SSH.

Lassen Sie Ihre aktuelle SSH-Sitzung immer geöffnet, bis Sie erfolgreich über den neuen Port verbunden sind. Nachdem die neue Verbindung überprüft wurde, können Sie die alte Sitzung sicher schließen und Port 22 aus der Firewall entfernen, wenn er nicht mehr benötigt wird.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA