Sommario:
Se sei un tecnico tecnico, conosci sicuramente Secure Shell (SSH) e lo usi regolarmente per connettersi a sistemi remoti. Sebbene sia un ottimo strumento, SSH presume che tu abbia una connessione cablata affidabile. Non funziona sempre anche su connessioni wireless, il che può essere inaffidabile. Un nuovo strumento che è cambiato che è Mosh, o Mobile Shell, che consente agli utenti di connettersi a sistemi remoti e rimanere connessi anche quando la rete si interrompe o si cambia rete.
Perché Mosh?
Secure Shell è indispensabile per amministratori, programmatori e utenti esperti che devono accedere ai server, sia nella hall che in tutto il paese. È un sostituto sicuro e crittografato per Telnet. È un ottimo strumento, ma è stato progettato negli anni '90, un'era prima che i computer portatili su Wi-Fi diventassero comuni. SSH presuppone una connessione cablata affidabile, cosa che non sempre accade quando gli utenti si spostano su dispositivi mobili. La connettività Wi-Fi, come hanno scoperto molte persone, è spesso imprevedibile ed è impossibile cambiare le connessioni, diciamo da Wi-Fi a LTE, senza interrompere una connessione.
Altre volte non è colpa della connessione, ma piuttosto dell'utente. Oppure, come si dice in IT, è un PEBKAC (esiste un problema tra tastiera e sedia). Il mio preferito di tutti i tempi è chiudere il coperchio dimenticando che sono connesso a una macchina remota tramite SSH. Apro il coperchio e digito la finestra del terminale e non succede nulla. Tutto quello che posso fare è interrompere la sessione ed accedere di nuovo. È fastidioso, ma l'ho fatto innumerevoli volte e sono sicuro che lo hai fatto anche tu.
Molte persone cercano di mitigarlo usando programmi come GNU Screen e tmux. Si tratta di multiplexer terminali che non solo offrono qualcosa come la navigazione a schede per la riga di comando, ma possono anche preservare la sessione nel caso in cui la connessione si interrompa. Accedi nuovamente e puoi riprendere da dove eri rimasto. Per quanto siano utili questi programmi, permangono i problemi con SSH stesso.
Mi sono dimesso dal mio destino SSH, ma un giorno mi sono imbattuto in un nuovo programma su un server shell su cui esco. Mosh è un tentativo di migliorare SSH, rendendolo adatto all'uso su laptop. È sviluppato da alcune persone intelligenti del MIT, le persone che ci hanno portato Lisp (quindi probabilmente conoscono una buona cosa quando ne vedono uno). Keith Winstein, uno dei principali sviluppatori, ha creato un video che mostra come funziona.
I creatori di Mosh lo descrivono come un sostituto di SSH che è più robusto e reattivo, soprattutto tramite collegamenti Wi-Fi, cellulari e interurbani.
Come funziona
Mosh utilizza un nuovo protocollo chiamato State Synchronization Protocol (SSP). Questo si basa su protocolli di connessione remota tradizionali come Telnet e SSH. In SSH, il server invia solo alcuni byte a valle al client da interpretare.
SSP aggiunge un altro livello. Il server e il client tengono traccia di ciò che è stato inviato utilizzando i numeri di sequenza. Se il server ottiene un numero di sequenza superiore a quello inviato in precedenza, è abbastanza intelligente da capire che il client è passato a un'altra connessione. Ciò significa che è facile eseguire il roaming dalla rete Wi-Fi alla rete Wi-Fi, oppure da una rete Wi-Fi a una rete cellulare o da una rete Wi-Fi a una connessione cablata e così via.
Un'altra caratteristica interessante di Mosh è l'eco dei personaggi in tempo reale. Di solito, se sei su SSH, potresti trovare un ritardo tra la digitazione e l'attesa che i tuoi personaggi appaiano sullo schermo mentre il server fa eco a ciò che stai scrivendo.
Ottenerlo
Se sei incuriosito, sarai felice di sapere che installare Mosh è abbastanza facile. La maggior parte delle principali distribuzioni Linux e Unix ce l'hanno nei loro repository. La homepage di Mosh mostra esempi usando Debian e Ubuntu, oltre a Gentoo, Arch e Fedora. Poiché Mac OS X è basato su Unix, anche gli utenti Mac possono partecipare. C'è un pacchetto nativo e le persone che vogliono compilarlo sul Mac usando Homebrew e MacPorts. Se il tuo sistema non ha Mosh come pacchetto, puoi scaricarlo e compilarlo tu stesso se necessario.
Quando hai installato il client, sei pronto per mettere in funzione Mosh ed eseguire l'accesso. Esegui l'accesso esattamente come fai con SSH. In realtà, Mosh in realtà non gestisce gli accessi; passa le informazioni di accesso a SSH. Ciò è utile se si utilizzano le funzionalità di crittografia a chiave pubblica di SSH per accedere in modo sicuro senza la necessità di una password.
C'è un problema, tuttavia. È necessario il server Mosh per connettersi. Fortunatamente, non è necessario essere un superutente per installarlo. Puoi anche metterlo nella tua home directory e avviarlo in questo modo se non riesci a parlare con l'amministratore di sistema durante l'installazione. Mosh è ancora nuovo, quindi forse un giorno diventerà onnipresente sui server come lo è SSH.
Un'altra cosa: Mosh si aspetta che il tuo terminale supporti UTF-8. Quasi tutti i moderni emulatori di terminali lo fanno, ma potrebbe essere necessario impostare la variabile di ambiente $ LANG prima che il server sul sistema remoto accetti la connessione.
Rimanere vivo
Ora che sei connesso, puoi iniziare a lavorare alla codifica o alla modifica dei file di configurazione o alla gestione di macchine remote, a casa, al lavoro, in treno o ad altitudine di crociera.
Puoi testare quanto è robusto Mosh disconnettendo il tuo Wi-Fi. Mosh mostrerà un messaggio nella parte superiore del terminale dicendo che non ha una connessione, insieme a un timer. Riconnetti e la tua sessione riprenderà da dove era stata interrotta. Funziona anche se chiudi il coperchio del laptop.
Mosh è ancora migliore se abbinato a un multiplexer terminale come GNU Screen o tmux. Sono stati usati in passato come Mosh, per mantenere attive le sessioni SSH su connessioni inaffidabili, ma offrono comunque alcuni vantaggi se usati con Mosh. Ad esempio, è possibile staccare da un terminale, disconnettersi e accedere da un'altra macchina, richiamare il multiplexer e farlo continuare. Questo è molto utile per lunghi lavori. È anche popolare per gli avidi utenti di IRC rimanere connessi su un server shell e staccare se necessario.
Tempo per Mosh?
Ora che hai avuto un'idea di come Mosh può rendere la tua esperienza di accesso remoto mobile molto migliore, perché non provarla tu stesso?