MOSH – MObile SHell

Symbolbild zum Artikel. Der Link öffnet das Bild in einer großen Anzeige.

Wozu MOSH?

Trotz der ausgefeilten graphischen Oberfläche von macOS, ist SSH als Verbindung zwischen zwei Rechnern oft unverzichtbar. Dabei hat SSH leider den Nachteil bei einer schwankenden oder gar ausfallenden Netzverbindung den Dienst zu quittieren, da es protokollbedingt eine stabile Verbindung benötigt.

Über den Helfer MOSH kann man die Verbindungen soweit stabilisieren, das nicht nur kurze Ausfälle sondern sogar komplette Wechsel von Netzwerken (Heim- zu Firmennetz) überstanden werden, und somit ein durchgängiges Arbeiten möglich ist.

Voraussetzung für die Verwendung:

MOSH muß dafür jedoch sowohl auf dem Start- als auch dem Zielrechner installiert sein. Während dies auf Linux und Windowsrechner mittels der jeweiligen Installer sehr einfach funktioniert, gibt es auf dem Mac einen solchen leider nicht. Auf dem Mac muß somit ein Umweg über homebrew (im FAUmac Self Service verfügbar) eingeschlagen werden. Nach der Installation von homebrew kann mittels „brew install mosh“ in der Konsole MOSH installiert werden.

Wie funktioniert MOSH?

MOSH legt dann einen „Mantel (wrapper)“ über das gängige SSH, dadurch kann es im einfachsten Fall, wie SSH gestartet werden und greift auf dessen Konfigurationen oder Keys zu.

mosh user@host

ist die kürzeste Variante und arbeitet wie SSH über den Standardport 22 zusätzlich wird jedoch für jede Verbindung ein Port im Bereich von 6000 bis 61000 benötigt. Leider ist es, im Gegensatz zu SSH, mit MOSH nicht möglich zwei Verbindungen über den gleichen Port zu erstellen. So muß der Port für MOSH also pro (zeitgleich verwendeter) Verbindung extra benannt werden.

mosh -p 60000 user@host für die erste Verbindung

mosh -p 60001 user@host für die zweite, usw.

Sollte der SSH-Port auf dem Zielrechner von dem Standardport 22 auf einen anderen (z.B. 2222) geändert worden sein, muß auch dieses beim Aufruf berücksichtigt werden.

mosh -p 60000 --ssh "ssh -p 2222" user@host

ACHTUNG: eine MOSH-Verbindung funktioniert nur solange wie beide Rechner die gleiche Session benutzen. Wird also auf dem Client (Start-Rechner) die SSH-Verbindung oder das Terminal komplett geschlossen, geht auch die Sitzung auf dem Zielrechner verloren. MOSH ist also nicht für den dauerhaften Betrieb eines Programmes auf dem Zielrechner ausgelegt, bzw. verwendbar!