Mosh (mobile Shell) statt ssh – echt Klasse bei der Linux-Administration

Ein Kommentar Autor: Jürgen (jdo)

Administriert man sein Linux-System, dann sitzt man meist an einem Platz und geht die Sache in Ruhe an. Einige Aufgaben dauern aber länger und ich schweife dann schon hin und wieder vom Terminal-Fenster ab. Zwischendurch schalte ich auch mal ein VPN an oder trage mein Notebook woanders hin und es wählt sich in ein anderes WLAN ein. Außerdem eignen sich mobile Geräte ebenfalls für diverse administrative Aufgaben. Deswegen benutze ich eigentlich grundsätzlich screen, weil ich damit die Sitzung weiterlaufen lassen kann, auch wenn ich die Verbindung zum Server verliere. Eine weitere Option, die mir ans Herz gewachsen ist, nennt sich mosh.

Die Administration via ssh und screen hat den Vorteil, dass es mit eigentlich jedem SSH-Client funktioniert. Das wären zum Beispiel auch putty unter Windows oder JuiceSSH unter Android.

Bei mosh hingegen ist es so, dass sowohl auf dem Client als auch auf dem Server mosh laufen oder eben unterstützt werden muss.

Was macht mosh denn so besonders?

Mosh steht für Mobile Shell und das ist bereits ein Hinweis, dass die Software Roaming kann. Selbst wenn Du das Netzwerk oder die IP-Adresse wechselst, bleibt die Verbindung zum Server scheinbar bestehen, beziehungsweise baut sie die Software sofort wieder auf. Benutzt Du eine WLAN-Verbindung im Zug oder hast mit irgendwelchen Funklöchern zu kämpfen, ist das angenehm.

Auch bei langsamen Verbindungen ist mosh angenehm. SSH wartet beim Tippen grundsätzlich auf eine Antwort vom Server, bevor Du im Terminal etwas siehst. Bei der mobile Shell siehst Du das Tippen, Löschen und so weiter sofort. Du siehst Vertipper sofort und kannst sie auch bequem korrigieren. Der Lag bei SSH und langsamen Verbindungen treibt einen schon mal zur Weißglut.

Zusammengefasst: mosh ist super bei hoher Latenz und wenn Roaming im Spiel ist!

Wie authentifiziert sich mosh?

Die gute Nachricht ist, dass die Authentifizierung der mobile Shell via SSH läuft. Hast Du Schlüssel ausgetauscht, damit Du Dich ohne Passwort am Remote Server anmelden kannst, musst Du nichts weiter machen.

Das ist sehr angenehm, weil Du wirklich nur den Befehl für die Anmeldung (im Terminal) ändern musst.

Es funktioniert also wie SSH?

Im Prinzip schon. Kannst Du mit SSH umgehen, dann hast Du mit der mobile Shell auch keine Probleme. Es gibt eine dedizierte Seite, auf der die Benutzung beschrieben ist.

Die einfachste Variante, die auch bei mir funktioniert ist:

mosh <Server-Name oder IP-Adresse>

Du darfst aber auch UDP-Port oder den SSH-Port spezifizieren, sollte das notwendig sein. Wie unter Linux üblich gibt es auch eine sogenannte man page oder der Parameter -h zeigt die Hilfe an.

mosh -h
Mobile Shell oder mosh ist bei Roaming oder hoher Latenz echt klasse

Mosh oder mobile Shell kann Roaming und hilft bei hoher Latenz

Auf welchen Betriebssystemen läuft mosh?

Offiziell läuft mosh auf fast allen Betriebssystemen außer Windows. Auf der Website ist zu lesen, dass die mobile Shell mit GNU/Linux, BSD, macOS, Solaris, Android, Chrome und iOS funktioniert. Die Software ist kostenlos. Das bereits erwähnte JuiceSSH bietet zum Beispiel offizielle Unterstützung für mosh oder Termux wäre eine Alternative unter Android. Es gibt außerdem ein Plugin für Chrome, womit Du es auch unter Windows nutzen kannst. Mit Cygwin funktioniert es angeblich auch.

Unter Linux Mint oder Ubuntu ist die Sache einfach:

sudo apt install mosh

In den anderen bekannten Linux-Distributionen ist das Paket ebenfalls in den Repositories zu finden. Weitere Informationen dazu gibt es auf der Projektseite.

Mosh lässt sich auch als Anwender ausführen. Du brauchst theoretisch keine Adminstrator- oder root-Rechte, um das Programm zu installieren. Bequemer ist es aber schon über den Paketmanager, weil es da Updates gibt, sollten welche notwendig sein.

Gibt es Nachteile?

Es ist halt eine reine Shell und das ist für die Administration via Kommandozeile großartig. So weit ich es verstanden habe, funktioniert damit aber kein X Forwarding. Ist nun bei einem Linux Server nicht so dramatisch, weil da X sowieso nichts verloren hat. Bei einem Raspberry Pi, der in der Ferne steht und auf dem Raspbian läuft, könnte man es vermissen. Zugegeben auch eine eher rare Situation, aber es ist möglich.

Es gibt echt einige coole Tools, die auf SSH aufbauen. Mit sshuttle oder Ki4a habe ich auch so meinen Spaß, muss ich zugeben. VPN rein über SSH – hat Overhead, klar, funktioniert aber ausgesprochen gut.

Nette Pi-Konstellation

Suchst Du ein VPN für den Raspberry Pi? NordVPN* bietet einen Client, der mit Raspberry Pi OS (32-Bit / 64-Bit) und Ubuntu für Raspberry Pi (64-Bit) funktioniert.




 Alle Kommentare als Feed abonnieren

Ein Kommentar zu “Mosh (mobile Shell) statt ssh – echt Klasse bei der Linux-Administration”

  1. Ben says:

    Hi, ich nutze mosh auch schon länger und es war auch häufig sehr praktisch. Mir fehlt das scrolling der Ausgabe doch sehr. Eigentlich sollte es auch schon lange eingebaut werden, aber es kommt leider immer noch nicht. Manchmal gibt es auch merkwürdige UTF-8 Probleme (lösbar, aber wiederkehrend).
    Wünschenswert würde auch sein, wenn es in Kombination mit hostmux oder einer vergleichbaren Lösung gäbe, um mehere Sitzungen im Splitscreen laufen zu lassen.
    Daher setze ich jetzt je nach Anwendungsfall eher auf ssh, seltener auf mosh.