Mosh, prescurtarea de „mobilă mobilă”, este o aplicație de terminal la distanță în creștere, concepută pentru a oferi o conectivitate mai bună și experiență utilizatorului decât aplicațiile terminale bazate pe SSH.
Când vorbim despre tehnologii de administrare a serverului la distanță, SSH are în mod evident popularitatea sa de durată în comunitatea open source. Cu toate acestea, în condiții de rețea precare, cum ar fi conexiunile celulare, în roaming, Wi-Fi și pe distanțe lungi, conexiunile SSH sunt susceptibile de a fi disfuncționale, ceea ce face ca oamenii să sufere de o ieșire continuă a conexiunii sau de a nu răspunde.
Având în vedere diverse condiții de rețea, Mosh a adus multe îmbunătățiri în ceea ce privește SSH, incluzând, dar fără a se limita la: alegerea UDP peste TCP pentru a fi construit, ecou local inteligent și reducerea utilizării lățimii de bandă. Fiecare dintre aceste eforturi fac din Mosh un supliment excelent pentru SSH.
În secțiunile următoare, voi demonstra cum se instalează Mosh pe un server CentOS 6 x64 și un client browser Chrome, împreună cu modul în care se utilizează clientul Mosh Chrome pentru a vă conecta la un server la distanță.
Cerințe preliminare
Pentru a obține experiențe practice din acest articol, trebuie să implementați de la zero o instanță a serverului Vultr CentOS 6 x64 și să vă conectați ca utilizator non-root cu permisiuni sudo. Instrucțiunile pentru alte sisteme de operare pot varia.
Instalați Mosh pe un server CentOS 6 x64
Cu yum, puteți instala cu ușurință Mosh pe serverul dvs. CentOS 6:
sudo yum update -y
sudo yum install mosh
Mosh poate fi instalat și pe multe alte sisteme de operare. Puteți vizita site-ul oficial pentru a vedea detaliile.
Modificați regulile firewallului pentru a permite traficul Mosh
Pentru a putea funcționa Mosh, trebuie să permiteți traficul UDP pe porturile cuprinse între 60000 și 61000.
sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT
sudo service iptables save
Instalați Mosh pe un browser Chrome
Pentru a utiliza Mosh pentru a vă gestiona serverul de la distanță, trebuie să instalați și programul Mosh pe mașina dvs. locală. Aici, voi instala Mosh pe un browser Chrome ca exemplu.
Accesați pagina Mosh din magazinul web Chrome din browserul dvs. Chrome. Faceți clic pe butonul "ADAUGĂ LA CRĂCIUN" din colțul din dreapta sus pentru a-l instala.
Conectați-vă de la clientul Mosh Chrome
Lansați Mosh din directorul aplicației Chrome pentru a deschide fereastra de logare.
După cum vedeți, în modul SSH implicit, puteți utiliza aceleași credențiale ca SSH pentru a configura conexiunile Mosh. Atât autentificările bazate pe cheie, cât și pe parolă sunt disponibile.
În plus, în câmpul „comandă de la distanță”, puteți introduce unele comenzi pe care doriți să le executați imediat după conexiune. De exemplu, puteți introduce tmux attach-sessionpentru a relua tmuxsesiunea automat după conectare.
Cât despre câmpul „comanda serverului Mosh”, îl puteți lăsa gol în condiții normale. Deocamdată, nu trebuie să porniți Mosh cu diferite argumente.
Bucurați-vă de experiența de utilizator fluentă a Mosh
După conectare, puteți utiliza Mosh pentru a executa comenzi la fel ca și orice altă aplicație de terminal de la distanță SSH, cu excepția faptului că răspunsul serverului de la distanță în Mosh este mai rapid și mai neted, mai ales în condiții de rețea slabe.
Cea mai deosebită caracteristică a lui Mosh ar fi sublinierea ultimelor tale intrări, care denotă faptul că Mosh a prezis în mod inteligent starea terminalului de la distanță înainte de a primi un răspuns de pe serverul dvs. pe distanțe lungi. Aceste sublinieri vor dispărea după sincronizarea ambelor capete. Nu mai trebuie să aștepți răspunsul serverului de la distanță înainte de a putea continua operațiunea de intrare.
Un sfat suplimentar
Vă recomand să utilizați Mosh cu tmuxsau un alt instrument similar în același timp, deoarece veți avea nevoie de un astfel de instrument pentru a rezerva ieșirea anterioară care nu mai este în fereastra terminalului Mosh. În scopuri de accelerație, Mosh nu reține ieșirea de defilare.