M SSH und unzuverlässige Leitungen

SSH und unzuverlässige Leitungen

Axel "XTaran" Beckert

abe@noone.org
http://noone.org/abe/

Motivation

SSH ist mühsam, falls

  • sich die IP ändert,
  • die Latenz sehr hoch ist und man schnell tippt, oder
  • wenn man den Laptop schlafen legt;

z.B. bei Verbindungen über

  • GSM, Satelliten-Link (SkyDSL, etc.),
  • wackeliges WLAN, oder
  • verstopfte Leitungen.

AutoSSH

  • Wrapper um SSH
  • Testet via zwei Tunnels zur Schleife (1x "-L", 1x "-R"), ob noch Daten durch die Verbindung gehen. Startet die SSH-Verbindung neu, falls die keine Daten mehr durch den Tunnel gehen
  • Manuelles Neustarten mit <Enter>~. (SSH Escape Key)
  • Ideal zusammen mit GNU Screen (oder tmux): autossh -t host "screen -RD"
  • Abwechselnde Clients (z.B. für Screen-Sessions) problemlos möglich
  • Funktioniert mit OpenBSD, Linux, Solaris, Mac OS X, Cygwin, AIX und vermutlich allen anderen BSDs.

Mosh (1)

  • Nutzt SSH für Authentifizierung, Autorisierung, Starten des Mosh-Servers und Schlüsseltausch; honoriert .ssh/config
  • Nutzt untendrunter UDP: Änderung der Client-IP nicht relevant
  • Screen oder tmux nicht notwendig, aber möglich
  • Detach und Reattach implizit bzw. transparent, mehrere abwechselnde Clients nur mit Umständen möglich
  • Sagt Ausgabe anhand von Eingabe hervor, falls Verbindung lagt (intelligentes "local echo"; deaktivierbar)
  • State Synchronization Protocol (SSP): Für die Anzeige zu späte bzw. nicht mehr relevante Daten werden nicht übertragen.

Mosh (2)

  • Eigentliche Verbindung AES-128 (OCB Modus) verschlüsselt über UDP
  • Unterstützt ausschliesslich UTF-8
  • Verfügbar für Debian (Unstable, Testing, Stable Backports), Ubuntu (Precise, Oneiric PPA), Fedora ab 15, Gentoo, Arch Linux, Exherbo, Meego (Nokia N9), FreeBSD Ports, MacOS X (.pkg, Homebrew und MacPorts), Cygwin
  • Android-Client in der Mache
  • iOS-Client fraglich, tlw. wegen der Lizenz (GPLv3)

Links