Per i sistemi Unix-like è presente una vasta scelta di shell, ma quasi tutte sono pensate per un ambiente Desktop connesso in modo stabile ad una singola rete. Tuttavia oggi è molto comune utilizzare più reti WIFI, spostarsi e passare ad una rete mobile e queste attività potrebbero causare la perdita di pacchetti e la disconnessione di una macchina remota. Per evitare questo tipo di problemi è nata Mosh.
Mosh è una shell, proprio come la diffusissima bash o la zsh, che è stata pensata per essere sfruttata anche in contesti nei quali l'utente si ritrova a dover navigare con diverse connessioni instabili. Mosh supporta il roaming, le connessioni intermittenti, fornisce anche un local echo e supporta l'autocompletamento dei comandi.
Mosh è dunque una soluzione ideale per gestire le proprie macchine in mobilità tramite ssh. Passando da una connessione all'altra la shell non si disconnetterà dalla sessione ssh ma indicherà che essa è stata persa e tenterà una nuova connessione occupandosi autonomamente del re-login sulla macchina remota, senza perdere il lavoro svolto.
Il programma supporta anche la sospensione dei notebook. Con Mosh è possibile mandare in sleep mode un portatile, all'atto della riattivazione la shell risulterà disponibile esattamente come era stata lasciata. Le shell tradizionali attendono una risposta dalla macchina remota prima di mostrare quello che si scrive, ciò potrebbe risultare spiacevole in presenza di lag. Mosh invece genera un output istantaneo a quello che si digita anche se non riceve una risposta rapida dal Pc a cui si è connessi in remoto.
Mosh non necessità dei permessi di root per essere installata o usata, basterà una semplice utenza per avviarla. Altra feature interessante di Mosh è la possibilità di ricorrere alle stesse credenziali per il login su tutte le macchine, questo perché gran parte degli utenti usa il medesimo username e la stessa password su più PC. Mosh potrà quindi utilizzare i dati presenti nei suoi log per effettuare una connessione remota.
Mosh è disponibile per: tutte le distribuzioni Linux, FreeBSD, OSX, Android, tramite estensione per Chrome e su Windows con Cygwin. Su Ubuntu è per esempio già presente nei repository e per installarla basterà lanciare la seguente istruzione:
sudo apt-get install mosh
Via mosh.mit.edu