Mosh, o 'Mobile Shell', està dissenyat per substituir SSH, especialment per a dispositius mòbils o ordinadors portàtils amb connexions lentes. Mosh funciona amb UDP i mantindrà la vostra connexió activa, fins i tot si canvieu les xarxes WiFi o experimenteu fluctuacions del senyal mòbil.
Què és Mosh?
El sistema de transferència basat en UDP de Mosh el fa més estable que el SSH tradicional, ja que gestiona la pèrdua de paquets de manera molt més eficaç. Si la vostra connexió està inactiva durant un temps, Mosh us tornarà a connectar tan bon punt torneu, deixant les vostres ordres al seu lloc mentre escriviu.
També redueix significativament la latència; Si alguna vegada heu provat d'SSH en un servidor lent, notareu que les vostres pulsacions de tecla també es tornen lentes i no responen. Això es deu al fet que el client SSH espera una resposta TCP del servidor abans de mostrar el vostre script, en cas que el servidor l'intercepti per algun motiu. Mosh és més intel·ligent i mostrarà els teus escrits en temps real. També proporciona prediccions d'escriptura subratllades, que també són útils.
Si tot el que busqueu és la persistència a llarg termini, podeu utilitzar |_+_| en canvi. al vostre servidor mitjançant SSH. Tmux divideix el vostre terminal en diversos panells, cadascun amb diverses pestanyes, que persisteixen al servidor durant les sessions SSH. L'avantatge aquí és que si la vostra sessió SSH està desconnectada, no afecta el que està passant al servidor, de manera similar a Mosh.
Però Mosh i |_+_| També sonen bé junts, ja que Mosh us tornarà a connectar automàticament a la vostra sessió de tmux si la vostra connexió cau, sense haver d'executar |_+_| és |_+_| de nou.
Què tan segur és Mosh?
Mosh fa la connexió inicial mitjançant SSH, de manera que l'autenticació és tan segura com SSH. Utilitza xifratge AES-128 per al trànsit enviat per UDP, de manera que no es pot detectar el vostre trànsit.
El principal problema amb Mosh és que requereix moltes portes per obrir-se. Mosh pot utilitzar qualsevol port entre 60000-61000, depenent de l'adreça IP de la connexió. I tot i que normalment utilitzarà el mateix port durant la connexió, no està garantit. Això no és gran cosa, però obrir 1000 portes no és realment una bona pràctica de seguretat.
Si utilitzeu un tallafoc com iptables, haureu d'obrir aquests ports manualment:
|_+_|I si esteu executant un servidor en un servei com AWS, també haureu d'obrir ports mitjançant el tallafoc. Si voleu que sigui més segur, podeu utilitzar-lo trucant a la porta tanqueu aquestes adreces i obriu-les només quan en Mosh truqui, però això tampoc és ideal si la porta canvia durant la sessió.
En resum, si utilitzeu Mosh i us preocupa la seguretat, probablement haureu de fer-lo escoltar a la vostra xarxa privada i utilitzar una VPN.
Instal·leu el servidor Mosh i obteniu un client Mosh
Perquè Mosh funcioni, el servidor ha de tenir instal·lats els binaris de Mosh. Això no executa un dimoni com |_+_|; més aviat, és la primera ordre que executa el vostre client Mosh quan us connecteu mitjançant SSH. Quan es tanca la connexió, el servidor finalitza el servidor Mosh en execució.
La instal·lació és bastant senzilla, ja que ho és disponible a la majoria de gestors de paquets . Per a sistemes basats en Debian com Ubuntu seria:
|_+_|Això instal·la tant el client com el servidor, de manera que instal·larà el mateix paquet en tots dos. Les instal·lacions orientades al servidor només requereixen un reemplaçament |_+_| per al gestor de paquets de la vostra distribució.
Per a Windows, necessitareu instal·leu el client per a Chrome . Encara no hi ha cap binari per a Windows.
Per a macOS, podeu instal·lar el paquet directament o instal·leu-lo amb Homebrew:
|_+_|Per a iOS, podeu utilitzar una aplicació com Termius O closca parpellejant .
I per a Android, podeu utilitzar una aplicació com Termux O JuiceSSH .
De qualsevol manera, us connectareu com ho faríeu amb SSH:
|_+_|Això us iniciarà la sessió amb un nom d'usuari i una contrasenya. Si això no és ideal per a vostè, també podeu especificar manualment noves opcions SSH amb |_+_| paràmetre:
|_+_|Aquesta ordre utilitzarà la vostra clau privada en lloc d'una contrasenya. Tingueu en compte que el servidor s'haurà de configurar per acceptar aquesta clau privada, especialment si és nou des d'un telèfon o un altre dispositiu.
Què penses?