Mosh als SSH-Ergänzung für wacklige UMTS- oder LTE-Datenverbindungen

Avatar von Christoph Langner

5 Min. Lesezeit

96 Aufrufe

Mosh hält die Verbindung, wo SSH abbricht: für wacklige UMTS-Leitungen, Wechsel zwischen Netzen und Rechner im Standby.

Cables

Wer mal „schnell“ während einer Zugfahrt versucht hat etwas mittels einer mobilen UMTS- oder LTE-Datenverbindung und SSH auf einem Server zu managen, der wird meist nach zahlreichen Versuchen gefrustet aufgegeben haben. Erst wenn der Zug vor einem Bahnhof langsam durch die Stadt rollt, bekommt man eine stabile Internetverbindung und damit auch endlich die Möglichkeit störungsfrei zu arbeiten. Während der Fahrt bricht einfach zu oft die Verbindung weg. Abhilfe schafft das für wechselnde und instabile Verbindungen geschaffene Mosh.

Mosh wurde als SSH-Ersatz für instabile (die Verbindung darf komplett abbrechen, man kann sogar den Rechner in den Standby schicken), wechselnde (man kann eine Mosh-Verbindung mit UMTS starten und über ein WLAN wieder aufnehmen) und langsame Internetverbindungen (Tastatureingaben werden bevorzugt durchgeleitet) geschaffen. Also etwa für die User, die sich mit einer wackligen UMTS-Leitung per SSH auf einen Server verbinden möchten. Es gibt Mosh für Linuxe, Windows und Macs und natürlich auch für mobile Betriebssysteme. So kann man Mosh vom PC und vom Handy aus benutzen.

Mosh neben SSH auf dem Server installieren

Um Mosh zum Laufen zu bekommen, muss das Programm auf beiden Rechnern installiert werden. Auf dem Server muss natürlich noch zusätzlich SSH installiert sein, da SSH weiterhin zur Authentifizierung des Users und zum Verbindungsaufbau benötigt wird. Mosh krallt sich erst nach dem Aufbau der verschlüsselten Leitung die Kontrolle über die Kommunikation.

# Mosh unter Debian/Ubuntu installieren...
$ sudo apt-get install mosh
# Mosh unter Arch Linux installieren...
$ sudo pacman -S mosh

Unter Ubuntu gibt es Mosh seit Precise ganz regulär in den Paketquellen, daher erspare ich mir Ausführungen über das Mosh-PPA. Dort gibt es allerdings aktuellere Versionen von Mosh, von daher könnte das PPA auch bei aktuelleren Ubuntus interessant sein. Arch-User finden Mosh ganz normal im Community-Repo. Und auch unter zahlreichen anderen Linuxen lässt sich Mosh ganz normal über die Paketquellen installieren, die Mosh-Homepage listet die Installationswege recht umfassend auf.

Mosh ohne Root-Rechte? Geht… vielleicht!

Problematisch wird es allerdings wenn man Mosh mit einem Server nutzen möchte, auf dem man zwar über ein SSH-Login verfügt, aber keine Root-Rechte hat. Mosh lässt sich in der Theorie ohne Root-Rechte — auch auf der Seite des Servers — betreiben, daher kann man sich Mosh auch selber kompilieren und beim Login ausführen. Mit install-user-mosh.sh findet ihr auch ein Skript, mit dem sich Mosh ohne große Aktion bauen lässt.

Allerdings braucht es zum erfolgreichen Bauen von Mosh eine lange Latte von Bibliotheken und Build-Tools, die wahrscheinlich nur auf wenigen Servern installiert sein dürften. Von daher solltet ihr lieber gleich beim Administrator des Servers anklopfen und lieb drum bitten doch schnell Mosh zu installieren. So wird das Programm sauber installiert, Sicherheitslücken geflickt und ihr müsst nicht groß basteln.

# Mosh auch ohne Root-Rechte installieren...
$ wget https://gist.githubusercontent.com/ViViDboarder/11000123/raw/1b71e37006db1d7dfdf8c59e4ba111d73645bec1/install-user-mosh.sh
$ chmod +x install-user-mosh.sh
$ ./install-user-mosh.sh

# Allerdings nur mit diesen Abhängigkeiten...
$ sudo apt-get install g++ protobuf-compiler libprotobuf-dev libboost-dev libutempter-dev libncurses5-dev zlib1g-dev expect-dev libexpect-perl liblocales-us-perl liblocales locales-all liblocale-us-perl liblocales-perl git libssl-dev

Mit Mosh auf den Server verbinden

Wurde Mosh auf Server und Client installiert, kann man wie gewohnt seine SSH-Verbindung aufrufen. Im Normalfall ersetzt ihr einfach das „ssh“ vor dem Befehl mit einem „mosh“, die Angabe des Users und des Servers bleiben gleich. Ein bisschen aufwändiger wird es allerdings, wenn man seinen SSH-Server nicht wie üblich auf Port 22 laufen hat, in diesem Fall muss man den von SSH benutzten Port ein wenig umständlicher angeben.

# Mit Mosh zu einem SSH-Server verbinden...
$ mosh du@dein.server.de
# Mit Mosh zu einem SSH-Server auf Port 222 verbinden...
$ mosh --ssh="ssh -p 222" du@dein.server.de

Ansonsten kann man nun genauso auf dem Server arbeiten, wie man es von SSH gewohnt ist — fast! Um Daten zu sparen überträgt Mosh immer nur die letzten Änderungen in der Shell. Was schon einmal übertragen wurde, wird noch nochmal auf den Server geschickt. Unter anderem deshalb funktioniert der Scrollback-Speicher nicht. Man kann also nicht mit Shift-PageUp/PageDown oder mit dem Mausrad die letzten Ausgaben der Shell hervorholen.

Mosh für Android und Chrome/Chrome OS

Wie schon mehrfach angesprochen ist Mosh natürlich ideal für mobile Geräte. Daher ist es auch nicht verwunderlich, dass es Mosh-Clients für Handys gibt — allerdings wohl nur für Android. Android-User können auf JuiceSSH zurückgreifen, ein SSH-Client für Android den ich schon mehrfach hier im Blog hatte. Die App kostet eine Kleinigkeit, sie ist aber definitiv ihr Geld wert. Mosh lässt sich dort in den Settings der Verbindung einstellen. Und auch für Chrome-, Chromium oder Chrome-OS-User gibt es eine Mosh-Browser-App, die sich direkt im Webbrowser ausführen lässt.

 

Ähnliche Beiträge

3 Kommentare zu „Mosh als SSH-Ergänzung für wacklige UMTS- oder LTE-Datenverbindungen“

  1. Avatar von Luca

    Kenne mosh jetzt auch schon etwas länger und kann es definitiv empfehlen!

    Cool ist auch, dass mosh SSH zur Verbindung nutzt, man also an seinen Keys und so weiter gar nichts ändern muss. Einfach mosh [alias] statt ssh [alias] eintippen, feddich 🙂

  2. Avatar von Hypfer

    Mosh ist auch super, wenn die Internetverbindung einfach nur voll ausgelastet ist.

    Normales SSH wird da schon ziemlich zäh.

  3. Avatar von Hart4

    Ich hab Mosh neulich während einer Zugfahrt genutzt. Per Mosh auf meinen kleinen Rooti, wo irsii und mutt laufen. So konnte ich trotz wackliger verbindung alles machen. super!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Sicherheitsabfrage: Welches Logo ist das?

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Scene Composer in Aktion: Ein Screenshot wird geladen, in verschiedene 3D-Szenen wie Café, Gaming-Desktop, Homeoffice und Podcast-Studio eingesetzt, gedreht und gezoomt. Anschließend wird eine Vorschau gerendert.

Ich finde Screenshots als Aufmacher oft langweilig. In der Vergangenheit habe ich daher oft den Bildschirm im wahrsten Sinne des Wortes abfotografiert. Das bringt etwas Leben in die Artikel –…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Mosh als SSH-Ergänzung für wacklige UMTS- oder LTE-Datenverbindungen
https://linuxundich.de/gnu-linux/mosh-ssh-alternative-wackliges-umts/ — gedruckt am 27. September 2026