Mosh o SSH en el móvil: cuál usar para seguir a tu agente
Lanzas a Claude Code con una tarea larga, cierras el portátil y te vas a la calle. Entras en el metro, el móvil pasa de wifi a 4G, se queda sin cobertura un minuto, y cuando vuelves a mirar la sesión SSH está muerta. Es normal: SSH no se diseñó para un cliente que cambia de red cada pocos minutos, y Mosh y Eternal Terminal existen justo para eso.
Aquí va qué hace cada uno, qué ocurre en un teléfono y cómo elegir. Si lo que buscas es la guía completa para llevar un agente en el bolsillo, empieza por Cómo usar Claude Code desde el móvil.
Qué le pasa a SSH en un teléfono
SSH va sobre una conexión TCP. Esa conexión está atada a una IP concreta y a un par de sockets. Si el móvil cambia de wifi a datos, la IP cambia y el servidor nunca se entera: la conexión se queda colgada hasta que salta un timeout y se cae. Lo mismo ocurre cuando Android o iOS duermen la red de la app para ahorrar batería, o cuando el sistema cierra la app porque necesita memoria.
Lo que se pierde no es solo la pantalla. Un proceso que colgaba de esa sesión SSH puede recibir un SIGHUP y morir con ella. Por eso un agente lanzado directamente en una shell SSH es frágil, y por eso el artículo hermano de este, tmux para agentes de código, es casi obligatorio.
Mosh: UDP y reconexión sin preguntar
Mosh (mobile shell) usa SSH solo para arrancar. Autentica con SSH, lanza mosh-server en tu ordenador y a partir de ahí la comunicación va por UDP. Como no hay una conexión TCP que romper, el cliente puede cambiar de IP, perder la señal o quedarse en reposo, y cuando vuelve la red la sesión sigue ahí.
Lo que te da en la práctica:
- Cambias de wifi a datos y la sesión no se entera.
- Si el servidor no responde, la app te lo avisa en lugar de cerrar la sesión.
- Eco local con predicción: lo que tecleas se pinta al instante, subrayado, y se confirma cuando llega la respuesta del servidor. Con latencia alta en datos móviles se nota mucho.
Y lo que cuesta:
- Necesita abrir UDP 60000–61000 en el ordenador (cada sesión usa un puerto de ese rango).
- No guarda historial de desplazamiento: Mosh solo sincroniza lo que se ve en pantalla. Para poder subir y leer lo que escupió el agente, trabaja dentro de tmux.
- Si el sistema cierra la app, la sesión Mosh termina y no se puede reanudar.
Eternal Terminal: TCP, pero que se reanuda
Eternal Terminal (ET) toma el camino contrario. Va por TCP, por defecto en el puerto 2022, pero mantiene su propio estado de sesión, así que si la conexión cae la reconstruye y reenvía lo que faltaba. Necesita etserver en marcha en el ordenador y etterminal en el PATH de la sesión SSH.
Su ventaja en un móvil: es el único transporte de Wendo que sobrevive a que se cierre la app. La sesión aparece en Inicio y, al abrirla, sigue donde estaba. En Wendo, además, ET está marcado como experimental, y conviene saberlo antes de apoyarte en él.
Tabla rápida
| | SSH | Mosh | ET |
|---|---|---|---|
| Transporte | TCP | UDP | TCP (2022) |
| Cambio wifi ↔ datos | Se cae | Aguanta | Aguanta |
| Móvil en reposo | Se cae | Aguanta | Aguanta |
| App cerrada por el sistema | Se cae | Se pierde | Se reanuda |
| Historial hacia atrás | Sí | No | Sí |
| Con Jump Host en Wendo | Sí | No | No |
Instalar mosh-server
En el ordenador donde corre el agente:
# macOS
brew install mosh
# Debian / Ubuntu
sudo apt install mosh
# Fedora
sudo dnf install mosh
Comprueba que está en el PATH de una conexión SSH normal, no solo de tu terminal:
ssh mi-servidor 'which mosh-server'
Con Homebrew en un Mac con Apple Silicon la ruta típica es /opt/homebrew/bin/mosh-server, que a veces no está en el PATH de una sesión no interactiva. Si pasa eso, Wendo te deja indicar la ruta de mosh-server en la conexión.
Cortafuegos
Mosh necesita UDP 60000–61000 de entrada. En Linux con ufw:
sudo ufw allow 60000:61000/udp
Con firewalld:
sudo firewall-cmd --permanent --add-port=60000-61000/udp
sudo firewall-cmd --reload
Si tu ordenador está detrás de un router, hace falta redirigir ese rango de UDP igual que harías con el puerto 22. Para ET, abre TCP 2022 de la misma forma (sudo ufw allow 2022/tcp).
Si tu SSH pasa por un proxy o un balanceador, el UDP de Mosh podría ir a la IP equivocada. Wendo tiene la opción «Usar IP del servidor para UDP» para ese caso.
Cómo elegirlo en Wendo
Al editar una conexión, el campo Transporte ofrece Auto, SSH, MOSH y ET. Con Auto, Wendo prueba Mosh, luego ET y, si ninguno está disponible, cae a SSH. Para empezar, déjalo en Auto.
Un criterio práctico:
- Vas a andar por ahí con el móvil y la sesión dura minutos: Mosh.
- Quieres cerrar la app, volver una hora después y encontrar la sesión en Inicio: ET.
- Entras por un Jump Host: SSH. Ni Mosh ni ET funcionan con Jump Host en Wendo.
- Tu ordenador no puede abrir puertos UDP: ET o SSH.
Mosh y Eternal Terminal son funciones de Wendo Pro; sin Pro, la conexión va por SSH. Los detalles de los campos están en la documentación de sesiones.
Y sea cual sea el transporte, lanza el agente dentro de tmux. El transporte mantiene viva la pantalla; tmux mantiene vivo el proceso y te da el historial que Mosh no tiene. La combinación habitual es Mosh o ET para el cable y tmux para el trabajo, y aquí está el mínimo de tmux que necesitas. Para recibir avisos cuando el agente pide permiso, mira los hooks.