Tips & tricks - Mosh: SSH in mobilità

Pubblicato il 10/08/2017 in Technology, Tips and Tricks • 2 min read

Quando dobbiamo connetterci via SSH usando reti mobili 3G/4G, spesso abbiamo a che fare con connessioni di qualità scadente e ci ritroviamo a doverci riconnettere più volte a causa dei buchi di connessione. Mosh risolve questo problema!

Scenario

È ormai estate e spesso noi sysadmin siamo in giro a goderci le nostre meritate vacanze.
Ancora più spesso, i nostri sistemi di monitoraggio - o peggio, i clienti - ci avvisano che qualcosa sta andando storto mentre noi siamo in riva al mare e la connessione 3/4G non è certamente delle migliori. Però, dobbiamo intervenire e con il nostro fido laptop sotto l'ombrellone ci connettiamo al server che non sta funzionando a dovere.

Se c'è una cosa che mi dà veramente fastidio è dovermi riconnettere ogni qualvolta si perda la connessione e vista la qualità delle reti 3G e 4G, la cosa succede alquanto spesso.

Soluzione

Per ovviare a questo problema ci viene in aiuto Mosh: the mobile shell che è in grado di lasciare in attesa le sessioni aperte anche quando, per esempio, la nostra connessione cambia indirizzo IP, oppure se stiamo momentaneamente fuori rete; possiamo addirittura mettere in sleep il portatile ed avere le connessioni SSH di nuovo in piedi al risveglio!

Mosh è ciò che si definisce "drop-in replacement" per SSH: significa che dobbiamo semplicemente ricordarci di usare l'eseguibile mosh piuttosto che ssh.
Mosh leggerà le confiugurazioni di SSH (anche quelle particolari, come abbiamo visto nei post precedenti) e le userà in maniera del tutto trasparente.

Alcune caratteristiche di Mosh:

  • resiste alle connessioni ballerine
  • drop-in replacement per SSH
  • ha un solo charset: UTF-8
  • non ci sono demoni
  • non viene eseguito codice da utenti privilegiati
  • utilizza UDP come protocollo

Installazione

Mosh è disponibile nei repository ufficiali delle maggiori distribuzioni GNU/Linux e sui vari sistemi *BSD, quindi l'installazione non dovrebbe dare alcun tipo di problema.

È necessario installare Mosh sia sul server che sul client.

Una volta installato, è necessario modificare le regole del firewall sul server affinché vengano accettate connessioni UDP dalla porta 60000 alla 61000; se si vuole, è possibile utilizzare una porta specifica con l'opzione -p del binario mosh .

Utilizzo

A questo punto, è sufficiente eseguire:

user@client:~$ mosh admin@server
admin@server's password:

admin@server:~$

Ed ora, le connessioni ballerine non ci fanno più paura!

Per ulteriori informazioni si rimanda alla documentazione ufficiale presente sul sito https://www.mosh.org .