Wie oft kommt es vor, dass man unterwegs ist und eine SSH-Verbindung zu einem Server benötigt.

Das mobile Internet ist nicht immer das stabilste und so kommt es öfters als gewollt zu Verbindungsabbrüchen.

Dies ist eine Anleitung, um mosh unter CentOS 7 zu installieren und die Firewall (firewalld) zu konfigurieren.

Mosh

Hier baut mosh eine Brücke vom altbewährten SSH zu einem verbindungslosen Protokoll wie UDP.

Installation

yum install mosh

Firewall

In der Firewall müssen die für Port's 60000-61000 (Standard; änderbar) geöffnet werden

Um in der Firewall den Service „mosh“ auwählen zu können, muss ein Servicefile erstellt werden.

<?xml version="1.0" encoding="utf-8"?> <service> <short>mobile shell with roaming and intelligent local echo</short> <description>mosh (mobile shell) is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.</description> <port protocol="udp" port="60000-61000"/> </service>

Firewall öffnen

firewall-cmd --add-service=mosh --permanent --zone=public
firewall-cmd --reload

Nutzung

Auf dem Server muss kein Dienst laufen. mosh wird „on-the-fly“ gestartet.

Verbindungsaufbau:

mosh (Client) baut eine SSH-Verbindung (Server) auf (authentifizierung und login)

Es wird geprüft, ob mosh(-server) installiert ist

Ist mosh(-server) installiert, wird über UDP Port 60000 - 61000 eine Verbindung aufgebaut (Protokoll SSP: State Synchronization Protocol)

Verschlüsselung

Probleme

Wo Licht ist, ist auch Schatten

mosh unterstützt nicht (laut man-Page:

X Forwarding

non-interactive use of SSH

Port-Forwarding

sshfs

Quellen

https://wiki.ubuntuusers.de/Mosh/

https://mosh.org/

man mosh

man mosh-server