SSH nutzt standardmäßig Port 22. Läuft dein Server auf einem anderen Port, gibst du ihn beim Verbinden mit -p an. Achtung: Bei scp heißt der Schalter -P, mit großem P.

ssh -p 2222 root@203.0.113.10
scp -P 2222 datei.txt root@203.0.113.10:/root/
rsync -e "ssh -p 2222" -av ordner/ root@203.0.113.10:/root/ordner/

Auf welchem Port dein SSH-Server gerade lauscht, siehst du auf dem Server selbst:

ss -tlnp | grep ssh

Port fest in der SSH-Config hinterlegen

Damit du dir den Port nicht merken musst, trägst du den Server auf deinem Rechner in ~/.ssh/config ein:

Host meinserver
 HostName 203.0.113.10
 User root
 Port 2222

Danach reicht ssh meinserver. Auch scp und rsync lesen diese Datei.

Warum den SSH-Port ändern?

Ein anderer Port als 22 hält viele automatisierte Bruteforce-Versuche fern, weil Bots meist nur bekannte Ports abklopfen. Das ist keine echte Absicherung, aber deine Logs werden deutlich ruhiger. Schützen sollten dich trotzdem SSH-Keys und Werkzeuge wie Fail2Ban.

SSH-Port über Vionity ändern

SSH-Einstellungen im Cloud Manager
VionityCP SSH Einstellungen
  • Öffne den Cloud Manager des Servers, bei dem du den SSH-Port ändern möchtest.
  • Klicke auf „VPS Einstellungen“ und öffne den Reiter „SSH“.
  • Gib im Feld „SSH-Port ändern“ den gewünschten Port ein. Nimm einen freien Port über 1024.
  • Klicke auf „Speichern“. Im Hintergrund wird die Konfiguration angepasst und der SSH-Server neu gestartet.

Wichtig: Nutzt du eine eigene Firewall (ufw, nftables, firewalld), gib den neuen Port vorher frei, zum Beispiel mit ufw allow 2222/tcp. Hast du es vergessen, kommst du über VNC trotzdem auf den Server und kannst es nachholen.

SSH-Port von Hand ändern

  1. Gib den neuen Port in deiner Firewall frei, siehe oben.
  2. Öffne /etc/ssh/sshd_config, etwa mit nano. Suche die Zeile mit Port. Beginnt sie mit #, entferne das Zeichen, sonst wird die Zeile ignoriert. Fehlt sie, leg sie weit oben an, zum Beispiel Port 2222. Wähle einen Port zwischen 1024 und 65535.
  3. Prüfe die Konfiguration mit sshd -t. Gibt der Befehl nichts aus, ist alles in Ordnung.
  4. Starte den SSH-Server neu mit systemctl restart ssh (auf manchen Systemen heißt der Dienst sshd). Schließ dein aktuelles SSH-Fenster noch nicht.
  5. Teste in einem zweiten Fenster die Verbindung mit ssh -p 2222 …. Klappt etwas nicht, reparierst du es über die noch offene erste Verbindung.
Ausschnitt aus der Datei /etc/ssh/sshd_config
Die /etc/ssh/sshd_config Datei

Ubuntu 24.04: Der Port ändert sich nicht?

Neuere Ubuntu-Versionen (ab 22.10) starten SSH über einen systemd-Socket. Dort reicht ein Neustart des Dienstes nicht, SSH lauscht weiter auf Port 22. Nach der Änderung in sshd_config brauchst du:

systemctl daemon-reload
systemctl restart ssh.socket
ss -tlnp | grep ssh

Systeme mit SELinux

Ist SELinux aktiv, etwa bei Distributionen aus der Red-Hat-Familie, darf sshd den neuen Port erst nach einer Freigabe nutzen: semanage port -a -t ssh_port_t -p tcp 2222

Wann du den SSH-Port nicht ändern solltest

Schützt ein DDoS-Filter deinen Server und läuft darauf ein Dienst, der diesen Schutz braucht, lass SSH auf Port 22. Die Firewall erkennt SSH-Verkehr nur auf dem Standardport zuverlässig. Auf einem anderen Port kann sie ihn falsch einordnen. Dann bricht deine Verbindung plötzlich ab und deine IP-Adresse wird für einige Minuten gesperrt.