Cuprins:
Dacă sunteți un profesionist tehnic, fără îndoială știți despre Secure Shell (SSH) și îl folosiți în mod regulat pentru a vă conecta la sisteme la distanță. Deși un instrument excelent, SSH presupune că aveți o conexiune fiabilă cu fir. Nu funcționează întotdeauna la fel de bine la conexiunile wireless, ceea ce poate fi de încredere. Un nou instrument care s-a schimbat, este Mosh sau Mobile Shell, care permite utilizatorilor să se conecteze la sisteme la distanță și să rămână conectat chiar și atunci când rețeaua se oprește sau schimbi rețele.
De ce Mosh?
Secure Shell este indispensabilă pentru administratorii, programatorii și utilizatorii de putere care trebuie să se conecteze la servere, fie în toată sala, fie în toată țara. Este un înlocuitor criptat sigur pentru Telnet. Este un instrument excelent, dar a fost proiectat în anii 90, o epocă înainte ca computerele mobile pe Wi-Fi să devină comune. SSH presupune o conexiune fiabilă prin cablu, ceea ce nu este întotdeauna cazul când utilizatorii pornesc pe mobil. Conectivitatea Wi-Fi, așa cum au găsit multe persoane, este adesea văzută și este imposibil să schimbați conexiunile, să spunem de la Wi-Fi la LTE, fără a rupe o conexiune.
Alteori nu este vina conexiunii, ci mai degrabă a utilizatorului. Sau, cum se spune în IT, este un PEBKAC (există o problemă între tastatură și scaun). Favoritul meu pentru toate timpurile este închiderea capacului, uitând că sunt conectat la o mașină de la distanță prin SSH. Deschid capacul și tastez în fereastra terminalului și nu se întâmplă nimic. Tot ce pot face este să omor sesiunea și să mă autentific din nou. Este enervant, dar l-am făcut de nenumărate ori și sunt sigur că și tu ai.
Mulți oameni încearcă să diminueze acest lucru folosind programe precum GNU Screen și tmux. Este vorba de multiplexori terminali care nu numai că vă oferă ceva precum navigarea cu file pentru linia de comandă, dar vă pot păstra și sesiunea în cazul în care conexiunea dvs. se reduce. Doar conectați-vă și puteți ridica chiar acolo unde ați plecat. La fel de la îndemână ca aceste programe, problemele cu SSH în sine rămân în continuare.
Am fost resemnat la soarta mea SSH, dar într-o zi m-am împiedicat de un program nou pe un server de shell pe care îl agăț. Mosh este o încercare de îmbunătățire a SSH-ului, făcându-l potrivit pentru utilizare pe laptopuri. Este dezvoltat de unii oameni deștepți de la MIT, oamenii care ne-au adus Lisp (deci probabil știu un lucru bun când văd unul). Keith Winstein, unul dintre principalii dezvoltatori, a creat un videoclip care arată cum funcționează.
Creatorii lui Mosh îl descriu ca un înlocuitor pentru SSH, care este mai robust și mai receptiv, în special în legăturile Wi-Fi, celulare și distanțe lungi.
Cum functioneaza
Mosh folosește un nou protocol numit Protocolul de sincronizare de stat (SSP). Aceasta se bazează pe protocoale tradiționale de conectare la distanță, cum ar fi Telnet și SSH. Sub SSH, serverul trimite doar niște octeți în aval către client pentru a fi interpretați.
SSP adaugă un alt strat. Serverul și clientul urmăresc ceea ce a fost trimis folosind numere de secvență. Dacă serverul primește un număr de secvență mai mare decât cel pe care l-a trimis anterior, este suficient de inteligent să-ți dai seama că clientul s-a mutat la o altă conexiune. Acest lucru înseamnă că este ușor să parcurgi din rețea Wi-Fi la rețea Wi-Fi, sau de la o rețea Wi-Fi la o rețea de celule sau de la o rețea Wi-Fi la o conexiune cu fir - și așa mai departe.
O altă caracteristică plăcută pe care o oferă Mosh este ecoul caracterului în timp real. De obicei, dacă sunteți pe SSH, puteți găsi o întârziere între tastare și așteptarea ca personajele dvs. să apară pe ecran, pe măsură ce serverul răsună cu ceea ce vă dați înapoi.
Primindu-l
Dacă sunteți intrigați, veți fi bucuroși să știți că instalarea Mosh este suficient de ușoară. Cele mai multe distribuții majore Linux și Unix le au în depozitele lor. Pagina de pornire Mosh prezintă exemple folosind Debian și Ubuntu, precum și Gentoo, Arch și Fedora. Deoarece Mac OS X se bazează pe Unix, utilizatorii Mac se pot alătura și ei. Există un pachet nativ și oameni care doresc să-l compileze pe Mac folosind Homebrew și MacPorts. Dacă sistemul dvs. nu are Mosh ca pachet, îl puteți descărca și compila singur dacă aveți nevoie.
Când ați instalat clientul, sunteți gata să puneți în funcțiune Mosh și să vă conectați. Vă conectați exact ca și în cazul SSH. De fapt, Mosh nu se ocupă de fapt de autentificări; transmite SSH informațiile de conectare. Acest lucru este util dacă utilizați funcțiile de criptare a cheilor publice ale SSH pentru a vă autentifica în siguranță, fără a fi nevoie de o parolă.
Există totuși o singură captură. Aveți nevoie de serverul Mosh pentru a vă conecta. Din fericire, nu trebuie să fii un superuser pentru a-l instala. Puteți chiar să-l introduceți în directorul de domiciliu și să îl lansați în acest fel dacă nu puteți vorbi sysadmin în instalarea acestuia. Mosh este încă nou, așa că poate într-o zi va deveni la fel de omniprezent pe servere precum SSH.
Un alt lucru: Mosh se așteaptă ca terminalul dvs. să accepte UTF-8. Aproape toate emulatoarele terminale moderne o fac, dar ar trebui să setați variabila de mediu $ LANG înainte ca serverul de pe sistemul de la distanță să accepte conexiunea.
Rămâi viu
Acum că sunteți conectat, puteți să lucrați la codarea sau la editarea fișierelor de configurare sau la administrarea mașinilor la distanță, fie acasă, la serviciu, în tren sau la altitudinea de croazieră.
Puteți testa cât de robust este Mosh prin deconectarea Wi-Fi-ului. Mosh va afișa un mesaj în partea de sus a terminalului spunând că nu are o conexiune, împreună cu un cronometru. Reconectați-vă și sesiunea dvs. se va ridica chiar acolo unde a plecat. De asemenea, funcționează dacă închideți capacul laptopului.
Mosh este chiar mai bun atunci când este asociat cu un multiplexor terminal precum GNU Screen sau tmux. Au fost folosite în trecut așa cum este Mosh, pentru a menține sesiunile SSH active pe conexiuni nesigure, dar oferă totuși câteva avantaje atunci când au fost folosite cu Mosh. De exemplu, puteți să vă detașați de la un terminal, să vă deconectați și să vă autentificați de la o altă mașină, să apelați la multiplexor și să-l continuați. Acest lucru este foarte util pentru locuri de muncă lungi. De asemenea, este popular pentru utilizatorii avizi de IRC să rămână conectați pe un server shell și să se detașeze, după caz.
E timpul pentru Mosh?
Acum că ați înțeles modul în care Mosh vă poate îmbunătăți experiența de conectare la distanță mobilă, de ce să nu o încercați singur?