Introduzione
Mosh , che sta per Mobile Shell è un'applicazione della riga di comando che viene utilizzata per la connessione al server da un computer client, tramite Internet. Può essere utilizzato come SSH e contiene più funzionalità di Secure Shell .
È un'applicazione simile a SSH, ma con funzionalità aggiuntive. L'applicazione è stata scritta originariamente da Keith Winstein per sistema operativo simile a Unix e rilasciato sotto GNU GPL v3.
Caratteristiche di Mosh
Applicazione terminale remoto che consente il roaming , supporta connettività intermittente e fornisce un'eco locale intelligente e modifica della riga delle sequenze di tasti dell'utente.
Mosh è un sostituto dei terminali SSH interattivi. È più robusto e reattivo, soprattutto su collegamenti Wi-Fi, cellulari e a lunga distanza.
Mosh è un software gratuito, disponibile per GNU/Linux, BSD, macOS, Solaris, Android, Chrome e iOS.
Utilizzo
Sostituisce SSH interattivo. Risposta istantanea alla pressione dei tasti, robusta per il roaming. Ma avrai bisogno di un UDP funzionante.
Come funziona Mosh
I protocolli di shell remota funzionano tradizionalmente convogliando un flusso di byte dal server al client, che deve essere interpretato dal terminale del client. (Ciò include TELNET, RLOGIN e SSH.) Mosh funziona in modo diverso ea un livello diverso. Con Mosh, il server e il client mantengono entrambi un'istantanea dello stato corrente dello schermo. Il problema diventa quello della sincronizzazione dello stato:portare il client allo schermo lato server più recente nel modo più efficiente possibile.
Ciò è stato ottenuto utilizzando un nuovo protocollo chiamato Protocollo di sincronizzazione dello stato , di cui Mosh è la prima applicazione. SSP viene eseguito su UDP, sincronizzando lo stato di qualsiasi oggetto da un host all'altro. Datagrammi crittografati e autenticati utilizzando AES-128 in modalità OCB3. Sebbene SSP si occupi del protocollo di rete, è l'implementazione dell'oggetto sincronizzato che definisce la semantica finale del protocollo.
Mosh esegue due copie di SSP, una in ciascuna direzione della connessione. La connessione dal client al server sincronizza un oggetto che rappresenta le chiavi digitate dall'utente e con semantica simile a TCP. La connessione dal server al client sincronizza un oggetto che rappresenta lo stato dello schermo corrente e l'obiettivo è sempre quello di portare il client allo stato lato server più recente, eventualmente saltando i frame intermedi.
Poiché SSP funziona a livello di oggetti e può controllare la velocità di sincronizzazione (in altre parole, la frequenza dei fotogrammi), non è necessario che invii ogni byte che riceve dall'applicazione. Ciò significa che Mosh può regolare i frame in modo da non riempire i buffer di rete, mantenendo la reattività della connessione e assicurandosi che Control-C funzioni sempre rapidamente. I protocolli che devono inviare ogni byte non possono farlo.
Installazione di Mosh Shell in Linux
Su Debian , Ubuntu e Menta sistemi simili, puoi installare facilmente Mosh pacchetto con l'aiuto di apt-get package manager
$ sudo apt-get update
$ sudo apt-get install mosh -y
E in RHEL /CentOS /Fedora distribuzioni basate, devi attivare il repository di terze parti chiamato EPEL, per installare mosh da questo repository utilizzando yum package manager
# yum update
# yum install mosh
Su Fedora versione, devi utilizzare dnf package manager per installare mosh
# dnf install mosh
Su Arch/Manjaro Linux :
# pacman -S mosh
E in OpenSuse Linux:
$ sudo zypper in mosh
Su Gentoo :
# emerge net-misc/mosh
Come si usa Mosh Shell?
1. Prova ad accedere al server Linux remoto usando la shell mosh.
$ mosh [email protected]
Inserisci la password
2. Si supponga che la porta SSH 22 predefinita sia cambiata in porta 70 , in questo caso puoi definire una porta personalizzata con l'aiuto di "-p ' cambia con mosh.
$ mosh [email protected] --ssh="ssh -p 70"
3. Controlla la versione di Mosh installata.
$ mosh --version
4. Puoi chiudere il tipo di sessione mosh "exit ' alla richiesta.
$ exit
5. Mosh supporta molte opzioni, che potresti vedere come:
$ mosh --help
Note su Mosh
Mosh richiede prerequisiti aggiuntivi, ad esempio consentire la connessione diretta tramite UDP, che non era richiesta da SSH.
Allocazione dinamica delle porte nell'intervallo 60000-61000 . Viene assegnato il primo forte aperto. Richiede una porta per connessione
L'allocazione predefinita delle porte è un serio problema di sicurezza, soprattutto in produzione.
Scrollback non supportato e nessun supporto per l'inoltro di ssh-agent.