Wie betreibe ich unter Ubuntu einen SSH-Server auf mehreren Ports?

|   Tipps & Tricks | Ubuntu 20.04Ubuntu 18.04SSH

Ein SSH-Server kann so konfiguriert werden, dass er auf mehr als einem Port läuft. Dies ist u.a. nützlich, wenn der SSH-Server aus bestimmten IP-Bereichen verschiedenen Ports erreichbar sein muss.

Schritt 1: Ports prüfen

Prüfe zuerst, ob die Ports, die du dem SSH-Server zuweisen möchtest, nicht bereits belegt sind.

ss -tlnp | grep -E "22|2022"

Der Befehl sollte folgende Ausgabe erzeugen:

LISTEN  0    128       0.0.0.0:22      0.0.0.0:*     users:(("sshd",pid=19908,fd=3))
LISTEN  0    128          [::]:22         [::]:*     users:(("sshd",pid=19908,fd=4))

Dies bedeutet, dass der SSH-Server derzeit auf Port 22 läuft.

Schritt 2: SSHD-Konfiguration anpassen

Bearbeite die sshd-Konfigurationsdatei /etc/ssh/sshd_config mit deinem bevorzugten Texteditor.

sudo nano /etc/ssh/sshd_config

Suche nach der Option Port und stellen Sie den Wert auf die gewünschten Ports ein. Standardmäßig wird diese Option auskommentiert sein.

# Port 22

Lösche das Raute-und das Leer-Zeichen und füge unter der Zeile eine zweite Zeile mit dem zweiten Port ein. Es sollte dann etwa wie folgt aussehen.

Port 22
Port 2022

Durch die mehrfache Deklaration der Port Richtlinie, hört der SSH-Dienst auf alle aufgeführten Ports.

Stelle sicher, dass die Zeile nicht mit # beginnt, denn dadurch würde die Zeile als Kommentar interpretiert und wird ignoriert.

Schritt 3: Firewall-Konfiguration anpassen

Konfiguriere gegebenenfalls die Firewall so, dass sie den Zugriff auf die konfigurierten Ports erlaubt.

sudo ufw allow 2022/tcp

In dieser Anleitung wird davon ausgegangen, dass der Standard-Port 22 bereits mit der korrekten Firewall-Konfiguration konfiguriert ist. Sollte dies nicht der Fall sein muss du analog zum vorherigen Befehl eine Firewall-Regel für Port 22 hinzugefügt werden.

Schritt 4: SSHD-Service neu starten

Führe folgenden Befehl aus um den SSHD-Service neu zu starten.

sudo systemctl restart sshd

Prüfe danach mit folgendem Befehl, ob sshd jetzt auf allen konfigurierten Ports läuft.

ss -tlnp | grep 22

Der Befehl sollte die nachfolgende Ausgabe erzeugen:

LISTEN     0      128          *:2022                     *:*
LISTEN     0      128          *:22                       *:*
LISTEN     0      128         :::2022                    :::*
LISTEN     0      128         :::22                      :::*

Der SSH-Server lauscht jetzt auf die Ports 22 und 2022.