Mosh, l'abbreviazione di "mobile shell", è una crescente applicazione di terminale remoto progettata per fornire una migliore connettività ed esperienza utente rispetto alle applicazioni di terminale basate su SSH.
Quando si parla di tecnologie di amministrazione di server remoti, SSH ha ovviamente la sua popolarità duratura nella comunità open source. Tuttavia, in cattive condizioni di rete, come cellulare, roaming, Wi-Fi e collegamenti a lunga distanza, le connessioni SSH possono diventare disfunzionali, facendo soffrire le persone di continui timeout o di mancanza di risposta.
Con varie condizioni di rete in mente, Mosh ha apportato molti miglioramenti rispetto a SSH, inclusi ma non limitati a: scegliere UDP su TCP su cui basarsi, eco locale intelligente e ridurre l'utilizzo della larghezza di banda. Ognuno di questi sforzi rende Mosh un eccellente integratore per SSH.
Nelle sezioni seguenti, mostrerò come installare Mosh su un server CentOS 7 x64 e un client browser Chrome, insieme a come utilizzare il client Mosh Chrome per connettersi a un server remoto.
Prerequisiti
Per ottenere esperienze pratiche da questo articolo, è necessario distribuire da zero un'istanza del server Vultr CentOS 7 x64 e accedere come utente non root con autorizzazioni sudo. Le istruzioni per altri sistemi operativi possono variare.
Installa Mosh su un server CentOS 7 x64
Con yum
, puoi facilmente installare Mosh sul tuo server CentOS 7:
sudo yum update -y
sudo yum install mosh
Modifica le regole del firewall per consentire il traffico Mosh su CentOS 7
sudo firewall-cmd --zone=public --permanent --add-port=60000-61000/udp
Installa Mosh su un browser Chrome
Per usare Mosh per gestire il tuo server remoto, devi installare anche il programma Mosh sul tuo computer locale. Qui, installerò Mosh su un browser Chrome come esempio.
Visita la pagina di Mosh sul Chrome Web Store dal tuo browser Chrome. Fai clic sul pulsante "AGGIUNGI A CHROME" nell'angolo in alto a destra per installarlo.
Accedi dal client Mosh Chrome
Avvia Mosh dalla directory dell'app di Chrome per aprire la finestra di accesso.
Come vedi, nella modalità SSH predefinita, puoi utilizzare le stesse credenziali di SSH per configurare le connessioni Mosh. Sono disponibili autenticazioni basate su password e SSH.
Inoltre, nel campo "comando remoto", è possibile inserire alcuni comandi che si desidera eseguire subito dopo la connessione. Ad esempio, è possibile inserire tmux attach-session
per riprendere tmux
automaticamente la sessione dopo la connessione.
Per quanto riguarda il campo "Comando server Mosh", puoi lasciarlo vuoto in condizioni normali. Per ora, non è necessario avviare Mosh con argomenti diversi.
Goditi la fluente esperienza utente di Mosh
Dopo aver effettuato l'accesso, è possibile utilizzare Mosh per eseguire comandi proprio come qualsiasi altra applicazione terminale remoto SSH, tranne per il fatto che la risposta del server remoto in Mosh è più rapida e fluida, soprattutto in condizioni di rete scadenti.
La caratteristica più distintiva di Mosh sarebbe la sottolineatura del tuo ultimo input, il che indica che Mosh ha previsto in modo intelligente lo stato del terminale remoto prima di ottenere una risposta dal tuo server a lunga distanza. Queste sottolineature scompaiono dopo la sincronizzazione degli stati di entrambe le estremità. Non è più necessario attendere la risposta del server remoto prima di poter continuare a immettere senza problemi.
Un suggerimento aggiuntivo
Ti consiglio di usare Mosh con tmux
o un altro strumento simile allo stesso tempo perché avrai bisogno di un tale strumento per riservare l'output precedente che non è più nella finestra del terminale di Mosh. Ai fini dell'accelerazione, Mosh non mantiene l'output di scrollback.