SSH connection timed out bedeutet, dass der Client seine Anfrage an TCP-Port 22 gesendet hat und vor Ablauf der Wartezeit nichts geantwortet hat. Die üblichen Verdächtigen sind eine Firewall, die Pakete verwirft (ufw oder eine Cloud-Security-Group), ein anderer Port als 22 oder eine geänderte IP-Adresse. Mit nc -zv host 22 grenzen Sie das Problem in wenigen Minuten ein.

SSH connection timed out vs. connection refused: was der jeweilige Fehler verrät

Connection refused erscheint, wenn das Paket den Server erreicht, aber auf diesem Port nichts lauscht: Der Host antwortet mit einer sofortigen Ablehnung. Connection timed out ist Stille: Das Paket geht unterwegs verloren oder eine Firewall verwirft es ohne Antwort. Wer beide auseinanderhält, halbiert die Fehlersuche.

  • Connection refused: sshd ist gestoppt, lauscht auf einem anderen Port oder eine Firewall ist auf Ablehnen statt Verwerfen eingestellt.
  • Connection timed out: eine verwerfende Firewall, eine Security Group ohne eingehende Regel, die falsche IP, eine ausgeschaltete Maschine oder ein Netzwerk, das ausgehenden Port 22 blockiert.
  • No route to host: ein Routing-Problem oder ein im lokalen Netz nicht erreichbarer Host.

5 Schritte zur Diagnose eines SSH-connection-timed-out-Fehlers

Arbeiten Sie sich von der schnellsten Prüfung bis zu der vor, die Sie in die Konsole Ihres Anbieters zwingt:

  1. Adresse bestätigen. Lösen Sie den Namen mit dig +short host auf und vergleichen Sie ihn mit der IP im Dashboard Ihres Anbieters.
  2. Port mit nc testen. nc -zv host 22 zeigt, ob etwas lauscht, ohne die SSH-Authentifizierung zu berühren.
  3. Netzwerk wechseln. Klappt die Verbindung über mobile Daten, aber nicht im WLAN, blockiert dieses Netzwerk ausgehenden Port 22.
  4. Host-Firewall prüfen. In der Webkonsole des Anbieters zeigt sudo ufw status verbose, ob 22/tcp erlaubt ist.
  5. Security Group prüfen. Die eingehende Regel muss TCP 22 von Ihrer aktuellen IP akzeptieren, nicht von der, die Sie gestern hatten.

nc -zv host 22: den SSH-Port ohne Authentifizierung testen

nc mit -z öffnet eine TCP-Verbindung zum angegebenen Port und schließt sie, ohne Daten zu senden; -v meldet das Ergebnis und -w begrenzt die Wartezeit in Sekunden. Das ist der sauberste Weg, ein Netzwerkproblem von einem SSH-Problem zu trennen.

nc -zv -w 5 server.example.com 22
nc -zv -w 5 203.0.113.10 2222
ssh -v -o ConnectTimeout=10 -p 22 [email protected]

Gibt nc succeeded oder open aus (je nach installierter Variante), ist der Port erreichbar und der Fehler liegt bei SSH: Benutzer, Schlüssel oder Konfiguration. Hängt es bis zum Timeout, liegt die Blockade im Netzwerk. Mit ssh -v sehen Sie die Zeile Connecting to ... port 22; erscheint Connection established nie, lohnt es sich nicht, Schlüssel oder Berechtigungen zu prüfen. Die genauen Optionen stehen in der Manpage von nc.

OpenSSH lauscht standardmäßig auf TCP-Port 22. Hat jemand Port in sshd_config geändert, liefert eine Verbindung zu 22 einen Timeout oder eine Ablehnung, je nachdem, was die Firewall mit diesem Port macht; verwenden Sie -p oder die Direktive Port in ~/.ssh/config.

ufw status und Security Groups: die zwei Firewalls, die SSH blockieren

Ein Cloud-Server steht meist hinter zwei Filtern: der Firewall des Betriebssystems, etwa ufw unter Ubuntu, und der Security Group oder Netzwerk-Firewall des Anbieters. Verwirft einer von beiden das Paket, läuft SSH bereits in den Timeout. Prüfen Sie den ersten über die Webkonsole des Anbieters, nicht über eine andere SSH-Sitzung, die von derselben Regel abhängt:

sudo ufw status verbose
sudo ufw allow 22/tcp
sudo ufw allow 60000:61000/udp
sudo ss -tlnp | grep sshd

ufw status verbose zeigt die Standardrichtlinie für eingehenden Verkehr und die aktiven Regeln; steht incoming auf deny und gibt es keine Regel für 22/tcp, ist das Ihr Timeout. ss -tlnp bestätigt, auf welcher Adresse und welchem Port sshd lauscht. Die UDP-Regel wird nur für Mosh benötigt, das standardmäßig die Ports 60000-61000 nutzt.

Prüfen Sie in der Security Group die eingehenden Regeln: Es muss eine für TCP 22 geben, deren Quelle Ihre aktuelle öffentliche IP einschließt. Die Quelle auf eine einzige Adresse zu beschränken ist gute Praxis, und zugleich der häufigste Grund für einen Timeout, wenn Sie sich aus einem anderen Netzwerk verbinden.

Geänderte IP: wenn der SSH-Server oder Ihr Smartphone eine neue Adresse hat

Eine geänderte IP erzeugt einen connection-timed-out-Fehler, der genau wie eine Firewall-Blockade aussieht, und die Änderung kann an beiden Enden passieren.

  • Serverseitig: Eine ohne statische IP gestoppte und wieder gestartete Instanz kann mit einer anderen Adresse zurückkommen. Prüfen Sie den DNS-Eintrag mit dig +short server.example.com und den HostName in Ihrer ~/.ssh/config.
  • Clientseitig: Erlaubt die Security Group nur die Büro-IP, kommen Sie über mobile Daten oder Hotel-WLAN von einer anderen Adresse und das Paket wird verworfen.

Für Maschinen ohne öffentliche IP oder offene Ports erspart Ihnen ein privates Mesh-Netzwerk die Jagd nach Adressen: Der Server wird über seine Mesh-IP erreicht, ohne Port 22 zum Internet zu öffnen. Zwei Optionen sind das private Mesh-Netzwerk Prialo und Tailscale.

SSH connection timed out auf iOS und Android: was anders ist als am Desktop

Auf einem Smartphone wechselt das Netzwerk ständig, daher treten geänderte IPs und Netzwerke, die Port 22 blockieren, weit häufiger auf als an einem Laptop am Kabel.

Was Sie prüfenDesktop (Linux/macOS)iOS/Android
Port mit nc testennc -zv im lokalen Terminalnc -zv von einem anderen Server, auf dem Sie angemeldet sind
Wie oft sich die IP ändertSelten: festes Heim- oder BüronetzOft: der Wechsel von WLAN zu mobilen Daten ändert die öffentliche IP
Ausgehender Port 22 blockiertSelten in eigenen NetzwerkenHäufig in Gast-, Hotel- und Flughafen-WLANs
Sitzung beim NetzwerkwechselSSH bricht ab; tmux bewahrt Ihre ArbeitMosh hält sie offen; tmux bewahrt Ihre Arbeit
Strg-, Esc- und PfeiltastenPhysische TastaturHängt von der App ab; termi1 enthält sie

In termi1 hat die integrierte Tastatur Esc, Strg, Tab und Pfeiltasten, sodass Sie ein hängendes nc mit Strg+C beenden oder den vorherigen Befehl ohne Verrenkungen zurückholen. Mosh hält die Sitzung am Leben, wenn Sie von WLAN zu mobilen Daten wechseln, startet mosh-server aber über eine initiale SSH-Verbindung: Läuft Port 22 in den Timeout, kommt auch Mosh nicht hinein. Die KI kann einen Befehl wie sudo ufw status verbose aus einem diktierten Satz in den Prompt schreiben, ohne Enter zu drücken; bei als Produktion markierten Verbindungen hält Production Guard Änderungen wie ufw allow zurück, bevor sie den Prompt erreichen. Sie können es mit dem termi1-Terminal für iOS ausprobieren.

Häufig gestellte Fragen

Was bedeutet connection timed out bei SSH?

Connection timed out bedeutet bei SSH, dass der Client versucht hat, eine TCP-Verbindung zum Server aufzubauen, und vor Ablauf der Wartezeit keine Antwort erhalten hat. Typische Ursachen sind eine Firewall, die Pakete verwirft, eine Security Group ohne Regel für Port 22, eine falsche IP-Adresse oder ein ausgeschalteter Server.

Wie prüfe ich, ob Port 22 auf einem Server offen ist?

Port 22 auf einem Server lässt sich mit nc -zv -w 5 host 22 prüfen, das die TCP-Verbindung ohne Authentifizierung versucht. Meldet es succeeded oder open, ist der Port erreichbar und das Problem liegt bei SSH; wartet es bis zum Limit, verwirft das Netzwerk oder eine Firewall den Verkehr.

Warum funktioniert SSH über mobile Daten, aber im WLAN gibt es einen Timeout?

SSH funktioniert über mobile Daten, läuft im WLAN aber in einen Timeout, wenn dieses WLAN ausgehenden Port 22 blockiert, was in Gast- und Firmennetzen häufig ist. Umgekehrt passiert es auch, wenn die Security Group nur die öffentliche IP des WLANs erlaubt und nicht die von Ihrem Mobilfunkanbieter zugewiesene Adresse.

Braucht Mosh außer 22 noch weitere offene Ports?

Mosh benötigt TCP-Port 22 für die initiale SSH-Verbindung, die mosh-server startet, und standardmäßig zusätzlich die UDP-Ports 60000-61000. Erlaubt die Firewall oder Security Group nur Port 22, gelingt die SSH-Verbindung, aber die Mosh-Sitzung kann sich nie aufbauen.