Guide

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.

AjustePor defectoDescripción
Reconexión automáticaONSe 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áx10Nú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 reintento3 segundosCuá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-Alive30 segundosCon 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 shell300 segundosSi 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 planoOFFCuando 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 shellCierre autoQué 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:

  1. Establece una conexión SSH al jump host
  2. Crea un túnel a través del jump host hacia el servidor objetivo
  3. 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:

  1. Habilita “Jump Host”
  2. Ingresa el hostname, puerto, nombre de usuario y credenciales de autenticación del jump host
  3. 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:

  1. Instala Tailscale en tu servidor y tu iPad/iPhone
  2. Inicia sesión con la misma cuenta en ambos dispositivos
  3. Tu servidor obtiene una IP de Tailscale (ej. 100.x.x.x)
  4. 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:

  1. Instala WireGuard en tu servidor y configúralo como servidor VPN
  2. Instala la app WireGuard en tu iPad/iPhone
  3. Importa o crea una configuración de cliente
  4. Conéctate al VPN
  5. 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.