¿Qué es Mosh Shell y cómo se usa? – CloudSavvy IT

Sitio de Mosh.

Mosh, o «Mobile Shell», está diseñado para ser un reemplazo de SSH, específicamente para dispositivos móviles o computadoras portátiles con conexiones lentas. Mosh funciona a través de UDP y mantendrá viva su conexión, incluso si cambia las redes WiFi o experimenta una señal celular fluctuante.

¿Qué es Mosh?

El sistema de transferencia basado en UDP de Mosh lo hace más estable que el SSH tradicional, ya que maneja la pérdida de paquetes de manera mucho más efectiva. Si su conexión se interrumpe por un tiempo, Mosh lo volverá a conectar tan pronto como regrese, dejando sus comandos en su lugar mientras estaba escribiendo.

También reduce significativamente la latencia; Si alguna vez ha intentado utilizar SSH en un servidor lento, notará que incluso las pulsaciones de teclas se vuelven lentas y no responden. Esto se debe a que el cliente SSH espera una respuesta TCP del servidor antes de mostrar su escritura, en caso de que el servidor la intercepte por alguna razón. Mosh es más inteligente y mostrará tu escritura en tiempo real. Incluso ofrece predicciones de escritura subrayadas, lo que también es útil.

Si lo único que busca es persistencia a largo plazo, puede utilizar tmux en su servidor a través de SSH. Tmux divide su terminal en varios paneles, cada uno con varias pestañas, que persisten en el servidor a través de las sesiones SSH. El beneficio aquí es que si su sesión SSH se desconecta, no afecta lo que está sucediendo en el servidor, de manera similar a Mosh.

Pero Mosh y tmux también juegan bien juntos, ya que Mosh lo volverá a conectar automáticamente a su sesión tmux si su conexión se interrumpe, sin tener que ejecutar ssh y tmux -a t [name] todo de nuevo.

¿Qué tan seguro es Mosh?

Mosh realiza la conexión inicial a través de SSH, por lo que la autenticación es tan segura como lo es SSH. Utiliza el cifrado AES-128 para el tráfico enviado a través de UDP, por lo que su tráfico no se puede rastrear.

El principal problema con Mosh es que requiere que estén abiertos muchos puertos. Mosh puede usar cualquier puerto entre 60000-61000, dependiendo de la dirección IP de la conexión. Y aunque normalmente utilizará el mismo puerto mientras dure la conexión, no está garantizado. Este no es un problema importante, pero abrir 1000 puertos no es una buena práctica de seguridad.

Si está ejecutando un firewall como iptables, tendrá que abrir estos puertos manualmente:

sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT

Y si está ejecutando un servidor en un servicio como AWS, también deberá abrir los puertos a través de su firewall. Si desea que sea más seguro, puede utilizar puerto golpeando cerrar estas direcciones y solo abrirlas cuando Mosh llama, pero esto tampoco es ideal si el puerto cambia durante su sesión.

En pocas palabras, si está usando Mosh y le preocupa la seguridad, probablemente debería hacer que escuche en su red privada y usar una VPN.

Instale Mosh Server y obtenga un Mosh Client

Para que Mosh funcione, el servidor debe tener instalados los binarios de Mosh. Esto no ejecuta un demonio como sshd; más bien, es el primer comando que ejecuta su cliente Mosh cuando se conecta a través de SSH. Cuando se cierra la conexión, el servidor finaliza el servidor Mosh en ejecución.

La instalación es bastante simple, ya que es disponible en la mayoría de los administradores de paquetes. Para sistemas basados ​​en Debian como Ubuntu, eso sería:

sudo apt-get install mosh

Esto instala el cliente y el servidor, por lo que instalará el mismo paquete en ambos. Las instalaciones orientadas al servidor simplemente requerirán que las sustituya apt-get para el administrador de paquetes de su distribución.

Para Windows, tendrá que instalar el cliente para Chrome. Todavía no hay binario para Windows.

Para macOS, puede instalar el paquete directamente, o instálelo usando Homebrew:

brew install mosh

Para iOS, puede usar una aplicación como Termius o Concha parpadeante.

Y para Android, puedes usar una aplicación como Termux o JuiceSSH.

En cualquier caso, se conectará como lo haría con SSH:

mosh user@server

Esto se conecta con un nombre de usuario y contraseña. Si esto no es ideal para usted, también puede especificar manualmente nuevas opciones SSH con el --ssh parámetro:

mosh --ssh="~/bin/ssh -i ~/ssh/id_rsa" user@port

Este comando utilizará su clave privada en lugar de una contraseña. Tenga en cuenta que el servidor deberá configurarse para aceptar esta clave privada, especialmente si es una nueva proveniente de un teléfono u otro dispositivo.

Deja un comentario

En esta web usamos cookies para personalizar tu experiencia de usuario.    Política de cookies
Privacidad