Configuración de conexión y VPN
Reconexión automática, keep-alive, port forwarding, jump hosts y configuración VPN
Configuración de conexión y VPN
MTerm proporciona control detallado sobre el comportamiento de la conexión, desde la reconexión automática hasta los intervalos de keep-alive. Esta guía cubre cada ajuste de conexión, port forwarding, configuración de jump hosts y opciones VPN para alcanzar servidores detrás de firewalls.
Configuración de conexión
Estos ajustes controlan cómo MTerm gestiona tu conexión SSH, especialmente en lo relacionado con el segundo plano y la reconexión. Todos son configurables por host o globalmente en Configuración.
| Ajuste | Por defecto | Descripción |
|---|---|---|
| Reconexión automática | ON | Se reconecta automáticamente cuando vuelves a MTerm desde el segundo plano. Sin esto, tendrías que reconectarte manualmente cada vez que cambias de app. |
| Intentos máx | 10 | Número máximo de intentos de reconexión antes de desistir. Si el servidor está temporalmente inaccesible, MTerm seguirá intentando hasta este límite. |
| Intervalo de reintento | 3 segundos | Cuánto esperar entre intentos de reconexión. Un intervalo más corto reconecta más rápido pero genera más intentos de conexión en el servidor. |
| Keep-Alive | 30 segundos | Con qué frecuencia MTerm envía un ping keep-alive al servidor. Esto previene que firewalls y dispositivos NAT cierren conexiones inactivas. Si tus conexiones se caen después de estar inactivas, prueba reducir este valor. |
| Umbral de reinicio del shell | 300 segundos | Si la app ha estado en segundo plano más tiempo que esto, la sesión shell se reinicia en lugar de resumirse. Esto evita problemas con estado de shell obsoleto. |
| Desconexión en segundo plano | OFF | Cuando está habilitado, MTerm desconecta la conexión TCP cuando la app pasa a segundo plano. Puedes configurar un retraso antes de la desconexión. Esto ahorra recursos del servidor y batería cuando sabes que estarás ausente un rato. |
| Comportamiento al salir del shell | Cierre auto | Qué sucede cuando el shell remoto termina (ej. escribes exit o el servidor se desconecta). Opciones: Cierre auto (cierra la pestaña inmediatamente), Confirmar (pregunta si cerrar), o Mantener abierto (deja la pestaña abierta mostrando el estado de salida). |
Ajustes recomendados para diferentes escenarios
Wi-Fi inestable (café, conferencia):
- Reconexión automática: ON
- Intentos máx: 20
- Keep-Alive: 15 segundos
- Considera usar Mosh en lugar de SSH para aún mejor resiliencia
Red estable (casa/oficina):
- Los ajustes por defecto funcionan bien
- Keep-Alive puede aumentarse a 60 segundos para reducir tráfico innecesario
Conservación de batería:
- Desconexión en segundo plano: ON con retraso de 30 segundos
- Umbral de reinicio del shell: 30 segundos
Port Forwarding
El port forwarding te permite acceder a servicios en tu servidor remoto como si estuvieran ejecutándose localmente, o exponer servicios locales a la red remota.
Redirección de puerto local (-L)
Una redirección de puerto local escucha en un puerto de tu dispositivo y tuneliza el tráfico hacia un destino accesible desde el servidor remoto.
Ejemplo: Tu servidor remoto ejecuta una base de datos PostgreSQL en el puerto 5432 que solo acepta conexiones locales. Configura una redirección de puerto local:
- Puerto local: 5432
- Host remoto: localhost
- Puerto remoto: 5432
Ahora cualquier app en tu iPad puede conectarse a localhost:5432 y alcanzar la base de datos en tu servidor.
Usos comunes:
- Acceder a aplicaciones web ejecutándose en el servidor (redirigir puertos 3000, 8080, etc.)
- Conectarse a bases de datos (PostgreSQL, MySQL, Redis)
- Acceder a paneles de administración que solo escuchan en localhost
Redirección de puerto remoto (-R)
Una redirección de puerto remoto escucha en un puerto del servidor remoto y tuneliza el tráfico de vuelta a tu dispositivo (o un host accesible desde tu dispositivo).
Ejemplo: Quieres exponer un servidor de desarrollo local ejecutándose en tu Mac (accesible desde tu iPad vía la red local) a tu servidor remoto:
- Puerto remoto: 8080
- Host local: 192.168.1.100
- Puerto local: 3000
Ahora los procesos en el servidor remoto pueden acceder a localhost:8080 para alcanzar tu servidor de desarrollo local.
Gestión de redirecciones de puerto
- Guardadas por host — Las redirecciones de puerto se almacenan como parte de la configuración del host, así están listas cada vez que te conectas
- Reconexión automática — Si el túnel se cae, MTerm lo restablece automáticamente
- Control individual — Inicia y detiene cada redirección de puerto independientemente
- Seguimiento de estado — Cada redirección muestra su estado actual: Activa, Detenida, Iniciando, Error o Reconectando
Jump Hosts (servidores Bastion)
Muchos entornos de producción requieren conectarse a través de un servidor bastion (también llamado jump host) en lugar de conectarse directamente a la máquina objetivo. MTerm maneja esto de forma transparente.
Cómo funciona
Cuando configuras un jump host para una conexión, MTerm:
- Establece una conexión SSH al jump host
- Crea un túnel a través del jump host hacia el servidor objetivo
- Establece una segunda conexión SSH al servidor objetivo a través del túnel
Desde tu perspectiva, esto es fluido — tocas el host y estás conectado. La configuración del jump host se guarda como parte del perfil del host.
Autenticación a través de jump hosts
MTerm soporta autenticación RSA-SHA256 a través de jump hosts. Esto significa que servidores SSH modernos que han deshabilitado las firmas SHA-1 heredadas funcionarán correctamente incluso cuando se accede a través de un servidor bastion.
Configuración
En la configuración del host:
- Habilita “Jump Host”
- Ingresa el hostname, puerto, nombre de usuario y credenciales de autenticación del jump host
- La configuración del host objetivo permanece igual
Configuración VPN
Cuando tus servidores están detrás de un firewall o en una red privada, necesitas un VPN para alcanzarlos desde tu iPad o iPhone. MTerm funciona con cualquier VPN que proporcione acceso a nivel de red, pero aquí están las dos opciones más populares:
Tailscale
Tailscale es la forma más fácil de conectar tus dispositivos a tus servidores. Crea una red mesh segura entre todos tus dispositivos sin configuración de firewall.
Configuración:
- Instala Tailscale en tu servidor y tu iPad/iPhone
- Inicia sesión con la misma cuenta en ambos dispositivos
- Tu servidor obtiene una IP de Tailscale (ej.
100.x.x.x) - En MTerm, usa la IP de Tailscale como hostname
Tailscale maneja la travesía NAT, gestión de claves y reglas de firewall automáticamente. Si no estás seguro de qué VPN usar, empieza con Tailscale.
WireGuard
WireGuard es un protocolo VPN ligero y de alto rendimiento. Es ideal si prefieres auto-hospedar tu infraestructura VPN y quieres máximo control sobre la configuración.
Ventajas sobre Tailscale:
- No se requiere cuenta de terceros
- Control total sobre la configuración de red
- Menor overhead (WireGuard está integrado en el kernel de Linux)
- Puede configurarse para enrutar solo subredes específicas
Configuración:
- Instala WireGuard en tu servidor y configúralo como servidor VPN
- Instala la app WireGuard en tu iPad/iPhone
- Importa o crea una configuración de cliente
- Conéctate al VPN
- En MTerm, usa la IP de red privada del servidor como hostname
Otras opciones VPN
MTerm funciona con cualquier VPN que proporcione conectividad de red a nivel del SO, incluyendo:
- OpenVPN
- IPsec/IKEv2
- Soluciones VPN corporativas (Cisco AnyConnect, GlobalProtect, etc.)
Mientras el VPN le dé a tu dispositivo una ruta a la dirección IP del servidor, las conexiones SSH de MTerm funcionarán a través de él.