Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Mosh (Mobile shell) ist eine Anwendung für den Fernzugriff auf der Kommandozeile. Es bietet die gleiche Funktionalität wie SSH, beseitigt aber einige Mängel von SSH, die in der Praxis auftreten. Mosh ist dennoch kein Ersatz auf Protokollebene. SSH wird zur Authentifizierung und zum Verbindungsaufbau benötigt, Mosh übernimmt danach. Mosh ist wie SSH eine Server-/Client-Anwendung, allerdings kommt das Programm sowohl auf dem Server als auch auf dem Client zum Einsatz. Wer wer ist, findet Mosh selbst heraus.
Vorteile:
Man kann zwischen verschiedenen Internetverbindungen (LTE, WLAN, …) wechseln, ohne die Verbindung zu verlieren (Handover)
Man kann den PC in den Ruhemodus befördern, später wieder starten und dann sofort ohne Unterbrechung weiterarbeiten
Man braucht keine Root-Rechte zum Benutzen von Mosh
Mosh verwendet ausschließlich UTF-8 und vermeidet so Zeichensatzfehler
Niedriges Bandbreitenminimum und geringe Latenz - Mosh ist auch noch benutzbar, wenn die Verbindung für SSH zu langsam ist
Falls tatsächlich gerade keine Netzwerkverbindung möglich ist, zeigt Mosh dieses an und lässt den Benutzer nicht im Ungewissen
Keine zusätzlichen offenen Ports: Der Mosh-Client meldet sich am Server via SSH an, Mosh öffnet erst dann einen UDP-Port zur Kommunikation und stellt die gleichen Möglichkeiten wie SSH bereit. (Password-Login, Public-Key-Login, …)
Mosh gelingt dies unter anderem dadurch, dass UDP anstatt von TCP als Protokoll Verwendung findet. Dadurch ist kein Handshake mehr nötig. Des Weiteren werden Diffs und Patches verwendet, um den Bildschirminhalt abzugleichen. SSH würde immer den kompletten Bildschirminhalt übertragen, auch wenn sich nur eine Kleinigkeit geändert hätte. Die Status der Bildschirminhalte werden durchnummeriert, um zu erkennen, welchen Patch/Diff der Client bereits erhalten hat. Fehlende Pakete fallen dadurch sofort auf und es erfolgt eine Rückmeldung an den Server, um den nun eingetretenen Status als Grundlage für weitere Patches und Diffs zu verwenden.
Es gibt noch ein paar weitere Kniffe in Mosh. Wenn man mehr erfahren möchte, sollte man sich die Projektseite ansehen, die eine ausführliche Dokumentation bietet.
In einigen Ubuntu-Versionen ist Mosh bereits enthalten. Falls nicht, installiert man das folgende Paket:
mosh (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install mosh
sudo aptitude install mosh
Auf dem Server ist zusätzlich folgendes Paket erforderlich:
openssh-server
mit apturl
Paketliste zum Kopieren:
sudo apt-get install openssh-server
sudo aptitude install openssh-server
Die aktuelle Version kann über das "Personal Packages Archiv" (PPA) [2] des Entwicklers installiert werden.
Adresszeile zum Hinzufügen des PPAs:
ppa:keithw/mosh
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams keithw zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben.
Es ist generell empfehlenswert, zuerst die integrierte Hilfe aufrufen:
mosh --help
und die Manpage von Mosh zu lesen.
Verbindung mit einem Server herstellen:
mosh BENUTZERNAME@SERVER
Wenn der lokale und der entfernte Benutzername identisch sind, reicht die Serveradresse:
mosh SERVER
Den UDP-Port festlegen. Sinnvoll bei NAT oder einer Portweiterleitung):
mosh -p PORT SERVER
SSH-TCP-Port festlegen. Sinnvoll bei einem SSH-Server, dessen Standard-TCP-Port 22 geändert wurde, bei NAT oder einer Portweiterleitung:
mosh --ssh="ssh -p PORT" SERVER
SSH-Optionen festlegen. Die Optionen sind in den Manpages von SSH nachzulesen:
mosh --ssh="SSH-OPTIONEN" SERVER
Unterbrechungslose verschlüsselte Verbindung mit Mosh - Pro-Linux, 07/2015
Standhaft - Persistentes Remote-Login mit mosh - Artikel ix, 07/2012
Diese Revision wurde am 7. November 2016 12:59 von aasche erstellt.