Mosh, una alternativa al SSH muy eficiente.

Mosh (Mobile Shell) permite la itinerancia , soporta conectividad intermitente es un reemplazo para SSH muy robusto y con ventajas…

Fuente: http://mosh.mit.edu/
Fuente: http://mosh.mit.edu/

Cuando estamos de viaje y necesitamos entrar a un servidor lo más normal es usar SSH pero si estamos en movimiento cada vez que nos quedamos sin cobertura la conexión se interrumpe y perdemos lo que estemos haciendo.

Mosh funciona mediante protocolo UDP en vez de TCP y al no mantener las conexiones abiertas de forma constante permite incluso cambiar de IP en el cliente (de WIFI, a 3G) y todo sin perder la consola.

mosh_5

La respuesta al enviar un carácter se acelera hasta 5 veces por lo que el cliente percibe que es más ágil la conexión: Sin duda una solución muy útil creada por el MIT que vale la pena utilizar y conocer.

Para poder utilizarlo debemos tener en cuenta 2 procesos: El Cliente y el Servidor. Y dentro de él tener bien configurado el cortafuegos, algo especialmente importante si utilizamos un sistema de Amazon AWS. Veamos en Ubuntu como instalamos el servicio. (bajo cualquier usuario, sin ser obligatorio root, al emplear puertos superiores al 1024)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:keithw/mosh
sudo apt-get update
sudo apt-get install mosh
sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT
sudo ufw allow 60000:61000/udp

Para arrancar el proceso (de un solo uso) debemos entrar en SSH normal y lanzar un mosh-server como se puede ver en la siguiente fotografía. En el cliente (nuestro PC) podremos instalar el módulo de MOSH para Chrome que es totalmente gratuito.

mosh_servidor

Una vez ejecutado guardaremos el número KEY que se indica tras el puerto y se deberá elegir identificación manual en el Chrome para poder conectar de forma correcta al servidor.

mosh_cliente

Mosh se mantiene conectado automáticamente mientras se mueve entre las conexiones a Internet. Utilizar Wi-Fi en el tren, Ethernet en un hotel, y LTE en una playa: te quedarás conectado mayoría de los programas de la red pierden sus conexiones después de la itinerancia, incluyendo SSH y aplicaciones web como Gmail. Mosh es diferente.

Con Mosh se puede poner su ordenador portátil a dormir y despertarlo después, manteniendo la conexión intacta. Si su conexión a Internet cae, Mosh le advertirá – pero la conexión se reanuda cuando el servicio de red se recupera. SSH espera la respuesta del servidor antes de mostrar su tipificación. Eso puede hacer que para una interfaz de usuario pésimo. Mosh es diferente: se da una respuesta instantánea a escribir, borrar y edición de líneas. Lo hace de forma adaptativa y funciona incluso en programas a pantalla completa como Emacs y vim. (lo hemos probado con MC, screenR, etc y funciona perfecto).

Indicar que otro de los puntos fuertes del servicio es que no se necesita ser superusuario para instalar o ejecutar Mosh. El cliente y el servidor son ejecutables administrados por un usuario normal y duran sólo para la vida de la conexión.

mosh_4_dual

Y lo más impresionante es que Mosh es un programa de línea de comandos, como ssh. Se puede utilizar en el interior xterm, gnome-terminal, urxvt, Terminal.app, iTerm, emacs, pantalla, o tmux. Pero mosh fue diseñado desde cero y es compatible sólo conjunto un carácter: UTF-8. Se corrige errores Unicode en otros terminales y en SSH. (a menudo hay carácteres que no salen en SSH con programas como PUTTY y en Mosh funcionan a la perfección incluso acentos). 

A diferencia de SSH, protocolo basado en UDP de mosh maneja la pérdida de paquetes con gracia, y establece la velocidad de fotogramas sobre la base de condiciones de la red. Mosh no se llena buffers de red, por lo que Control-C siempre trabaja para poner fin a un proceso fuera de control: Obtenemos mayor calidad de servicio a coste 0. 

Sin duda es muy curioso ver como cambiamos de IP en tiempo real en nuestro terminal virtual TTY, podemos suspender el equipo y al iniciarlo seguiremos en el mismo punto, encenderlo luego en otra ubicación con diferente WIFI y todo se mantiene o incluso usarlo con un WIFI por tethering con un móvil sin perder la conexión y con una mejor calidad.

En AGENCIA LA NAVE conocemos siempre las mejores herramientas y podremos aconsejar a nuestros clientes siempre que lo necesiten para dar respuestas a sus exigencias.

Para finalizar indicar que existe un cliente para Android gratuito llamado JuiceSSH que os puede interesar conocer. En IOS (para Iphone) se debe comprar la APP iSSH que permite el mismo servicio por algo más de 4€.

Enlaces: Mosh

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *