mosh (mobile shell) ist eine Remote-Terminal-Anwendung, die Verbindungen auch über wechselnde Netze, WLAN-Pausen und hohe Latenzen hinweg stabil hält — dort, wo klassisches SSH regelmäßig abreißt. Entwickelt wurde mosh an der MIT und der University of California; es ergänzt SSH, ersetzt es aber nicht: Die Anmeldung läuft weiterhin über SSH.
So funktioniert mosh
Beim Start verbindet sich der mosh-Client per SSH mit dem Server und startet dort den mosh-server. Dieser wählt einen UDP-Port aus dem Bereich 60000–61000 und erzeugt einen einmaligen Sitzungsschlüssel; beide werden über die SSH-Verbindung ausgetauscht, die danach geschlossen wird. Von nun an kommunizieren Client und Server direkt per UDP mit dem State Synchronization Protocol (SSP), das die Terminal-Darstellung als Zustand synchronisiert statt als rohen Byte-Strom.
Die Vorteile
- Roaming: Wechselt das Gerät von WLAN zu LTE oder ändert sich die IP-Adresse, bleibt die Sitzung bestehen.
- Intelligenter lokaler Echo: Eingaben werden sofort lokal angezeigt und bei hoher Latenz spekulativ vorausgesagt; stimmt der Server-Zustand nicht, korrigiert mosh die Anzeige.
- Robustheit: Suspend, Schlafmodus oder kurze Netzunterbrechungen beenden die Sitzung nicht.
Grenzen und Abgrenzung
mosh überträgt keine Dateien und kann kein X11-Forwarding oder Port-Forwarding; dafür bleiben scp/rsync und SSH-Tunnel zuständig — wer einen solchen Tunnel dauerhaft braucht, sichert ihn mit autossh ab. Auch die Firewall muss den UDP-Bereich 60000–61000 erlauben. Wer grafische Oberflächen fernsteuern will, nutzt RDP, VNC oder xrdp. mosh ist damit die ideale Ergänzung zu SSH für alle, die von unterwegs auf einem Linux-Server arbeiten.
Verwandte Grundlagen: SSH, Linux, SSH-Tunnel.