Qué necesitas
- Un servidor que acepte SSH, con su dirección, el puerto (22 salvo que lo hayas cambiado) y el nombre de usuario.
- Un camino de red desde el teléfono. Un servidor con dirección pública funciona desde cualquier sitio. Uno en casa o en una oficina normalmente no, como se explica abajo.
- Una clave en el teléfono, o una contraseña si el servidor todavía la permite.
- Una app cliente de SSH. iOS no incluye ninguna.
Cómo llegar a un servidor privado
Un teléfono con datos móviles no está en la red de tu casa ni de tu oficina, así que las direcciones 192.168.x.x darán timeout. Hay dos formas de entrar:
- VPN o red superpuesta (recomendado). Pon el teléfono y el servidor en la misma red privada con WireGuard o una herramienta similar. Así el puerto 22 no tiene por qué estar expuesto a internet.
- Reenvío de puertos en el router. Esto expone SSH a todo internet, y no funciona si tu proveedor te pone detrás de un CGNAT. Si lo haces, desactiva antes el acceso con contraseña. Mira cómo desactivar el acceso con contraseña.
Una conexión que se queda colgada y falla apunta a un problema de red, no de autenticación. Mira Connection timed out.
Claves en un teléfono
Crea una clave nueva en el teléfono, dentro de la app, y no copies allí la clave privada de tu portátil. Copiarla significa que la clave pasa por el correo, los mensajes o una carpeta en la nube, y si pierdes el teléfono tendrás que cambiarla en todos los sitios donde la uses.
Con una clave por dispositivo, borras una línea de authorized_keys y el teléfono queda fuera, mientras tu portátil sigue funcionando. Elige Ed25519 y pon una frase de contraseña si la app lo permite.
Copia la clave pública de la app al servidor, desde una sesión que ya tengas:
echo 'ssh-ed25519 AAAA...your-public-key... iphone' >> ~/.ssh/authorized_keys
Puedes limitar lo que esa clave puede hacer. Esta línea permite un terminal pero no túneles ni reenvíos, y solo acepta la clave desde un rango de direcciones de la VPN, así que una clave robada vale menos:
from="10.0.0.0/24",restrict,pty ssh-ed25519 AAAA...your-public-key... iphone
En nuestra prueba la clave entró desde una dirección que coincidía y fue rechazada desde otra, con los reenvíos bloqueados. Quita from= si tu teléfono no tiene un rango fijo.
Comprueba la huella en la primera conexión
La primera vez, la app muestra la huella de la clave del servidor. Compárala con la real, desde una sesión de confianza:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Esto importa más en un teléfono, porque con más frecuencia estás en redes que no controlas. Lee cómo funciona known_hosts.
Por qué se corta la conexión y qué hacer
iOS suspende las apps poco después de que salen de la pantalla, y una app suspendida no puede mantener su conexión de red. Puede pedir una prórroga corta, pero es el sistema quien decide cuánto dura. Si la app no sabe seguir conectada en segundo plano, unos minutos en otra app o el teléfono bloqueado bastan para perder la sesión. Un cambio de red, como pasar de Wi-Fi a datos móviles, también rompe una conexión SSH normal. Los ajustes de keep-alive no arreglan ninguno de los dos casos.
Así que no luches contra ello. Ejecuta tu trabajo dentro de tmux en el servidor y vuelve a conectarte a la sesión tras cada reconexión:
tmux new -A -s phone
Los programas que corren dentro siguen funcionando mientras el teléfono no está. Los detalles están en cómo mantener las sesiones vivas con tmux. No lances desde un teléfono un trabajo largo fuera de tmux.

Mosh es la otra respuesta a una red que cambia. Lee Mosh vs SSH: cuál es la diferencia antes de instalarlo en el servidor.
Cómo elegir una app
- Teclas extra. Esc, Tab, Ctrl y las flechas deben estar a un toque. El teclado de iOS no tiene ninguna.
- Claves. Debe generar claves Ed25519 y dejarte ver la clave pública y poner una frase de contraseña.
- Comprobación de la clave del host. Debe mostrar la huella en la primera conexión y detenerse cuando cambie.
- Dónde se guardan los secretos. Busca el llavero de iOS (Keychain) o un cifrado fuerte, y lee lo que dice el fabricante sobre la sincronización.
- Bloqueo de la app. Si alguien más puede llegar a tener tu teléfono desbloqueado, importa un bloqueo de la app con Face ID o con un código.
- Reconexión. Comprueba si sigue conectada en segundo plano, si se reconecta sola y si puede ejecutar un comando, como la línea de tmux de arriba, después de entrar. Algunas apps ofrecen Mosh, un protocolo aparte que sobrevive a los cambios de red y necesita un componente en el servidor.
- Calidad del terminal. Prueba tmux y vim antes de depender de ella.
Preguntas
¿El iPhone tiene un cliente SSH integrado?
No. iOS no tiene terminal ni comando ssh, así que una sesión interactiva necesita una app cliente SSH. La app Atajos solo puede ejecutar un script por SSH.
¿Por qué se desconecta mi sesión SSH en el iPhone?
iOS suspende las apps poco después de que salen de la pantalla, y una app suspendida no puede mantener la conexión. Trabaja en tmux en el servidor y vuelve a engancharte, o usa Mosh para los cambios de red.
¿Puedo entrar con una clave SSH desde un iPhone?
Sí. Crea una clave Ed25519 en la app SSH y añade su clave pública a authorized_keys en el servidor. Usa una clave por dispositivo: un teléfono perdido se excluye quitando una línea.
Fuentes
- sshd(8), formato de authorized_keys, manual de OpenBSD
- tmux(1), manual de OpenBSD
- Extending your app's background execution time, Apple Developer
- WireGuard