Skip to content

Abrir el terminal con un solo clic usando el enlace con el esquema neoserver:// en iOS

Un enlace neoserver:// , un clic, y NeoServer se activa automáticamente, se conecta al servidor y te abre el terminal en la posición que quieras: puede ser en…

9 min de lectura

Un enlace neoserver://, un clic, y NeoServer se activa automáticamente, se conecta al servidor y te abre el terminal en la posición que quieras: puede ser en una máquina específica, una sesión de tmux o un directorio.

Guárdalo en los favoritos de Safari, en Notas, como icono en el escritorio, en Atajos de Siri, o envíalo por AirDrop a un compañero; siempre funcionará.


1. Cómo escribir el enlace del terminal

Todos los enlaces del terminal se ven así:

neoserver://terminal?host=<servidor>&port=<puerto>&user=<usuario>&name=<nota-del-terminal>&tmuxName=<sesión-tmux>&zellijName=<sesión-zellij>&workdir=<directorio>&command=<comando>
ParámetroObligatorioQué rellenar
host✅IP o dominio del servidor. Obligatorio, si se deja vacío el enlace no funciona.
port❌Puerto SSH, si no se especifica el valor predeterminado es 22. Rango válido 1–65535, si se pone un valor ilegal el enlace queda inservible.
user❌Nombre de usuario para el inicio de sesión, si no se especifica el valor predeterminado es root.
name❌Nombre descriptivo de este terminal (solo para mostrar, no interviene en la coincidencia de servidores).
tmuxName❌Entra automáticamente a esta sesión de tmux al conectar.
zellijName❌Entra automáticamente a esta sesión de zellij al conectar.
workdir❌Hace un cd automático a este directorio remoto al conectar.
command❌Ejecuta automáticamente un comando al conectar (con salto de línea). Para varias líneas usa %0A como separador.

⚠️ Prioridad: tmuxName > zellijName > command > workdir.

  • tmuxName / zellijName y command no se combinan: si se indica el nombre de una sesión, solo se hará attach a dicha sesión y command será ignorado (el attach bloquea la entrada del terminal, por lo que no se puede insertar el comando).
  • command se puede usar junto con workdir: primero se hace cd al directorio, y luego se ejecuta el comando.
  • tmuxName / zellijName / workdir siguen siendo mutuamente excluyentes.
  • name es únicamente un nombre para mostrar, puede coexistir con cualquier otro y no afecta a la lógica anterior.

Copia el siguiente ejemplo y modifícalo a tu gusto:

# Lo más simple: solo el host
neoserver://terminal?host=1.2.3.4

# Especificar puerto y usuario
neoserver://terminal?host=1.2.3.4&port=2222&user=deploy

# Conectar y entrar directamente a la sesión main de tmux
neoserver://terminal?host=1.2.3.4&user=root&tmuxName=main

# Conectar y entrar directamente a la sesión dev de zellij
neoserver://terminal?host=1.2.3.4&user=root&zellijName=dev

# Conectar y hacer cd automáticamente al directorio de logs
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log/nginx

# Ponerle un nombre descriptivo al terminal (para mostrarlo en la lista, no interviene en la coincidencia)
neoserver://terminal?host=1.2.3.4&user=root&name=Servidor-de-producción

# Conectar y ejecutar automáticamente ls -la (%20 = espacio)
neoserver://terminal?host=1.2.3.4&user=root&command=ls%20-la

# Primero hacer cd a /var/log, luego ejecutar tail -f syslog
neoserver://terminal?host=1.2.3.4&user=root&workdir=/var/log&command=tail%20-f%20syslog

# Comandos de varias líneas: primero cd /tmp luego pwd (%0A = salto de línea)
neoserver://terminal?host=1.2.3.4&user=root&command=cd%20%2Ftmp%0Apwd

2. Al conectar, ¿dónde se abrirá el terminal?

Esta es la parte más útil del enlace del terminal: dependiendo de los parámetros rellenados, el lugar donde se abre el terminal tras la conexión será diferente:

Parámetros introducidosEstado del terminal tras la conexión
Solo host (+ port/user opcionales)Abre un terminal normal, situado en el directorio home del usuario
tmuxName=mainHace tmux attach automáticamente a la sesión main, volviendo a la pantalla donde lo dejaste
zellijName=devEntra automáticamente a la sesión dev de zellij
workdir=/var/logHace cd automáticamente al directorio /var/log
command=ls -laCuando el terminal está listo, teclea y ejecuta este comando automáticamente
workdir=/var/log&command=tail -f syslogPrimero hace cd a /var/log, luego ejecuta tail -f syslog

¿Por qué se dividen en estos tres tipos?

  • Sesiones tmux / zellij: Si se corta la red, se cierra la App o te conectas desde otro móvil, la sesión sigue ahí y el proceso no se pierde. Si compartes la sesión tmux de un servidor con un colega, ambos podréis entrar en la misma pantalla para solucionar problemas juntos.
  • Directorio: En lugar de tener que hacer cd /opt/app/logs cada vez que te conectas, es mejor que el enlace te coloque ahí directamente.
  • Comando: Ejecuta automáticamente un comando al conectar, como por ejemplo extraer logs, ver el estado o correr un script de despliegue. Se puede combinar con workdir (primero entra al directorio y luego se ejecuta).

name no afecta al comportamiento tras la conexión; simplemente le da un nombre fácilmente reconocible a este terminal para que sea más fácil de encontrar en la lista.


3. Copiar el enlace desde la App (sin escribir a mano)

Escribir enlaces a mano es propenso a errores. NeoServer permite copiar con un clic desde tres lugares; una vez copiado, puedes pegarlo en cualquier sitio.

1. Copiar el enlace de «este servidor»

Pestaña Servidores · Lista de servidores → Desliza a la izquierda sobre un servidor → Copy Scheme Link

Lo copiado será:

neoserver://terminal?host=...&port=...&user=...

2. Copiar desde el modo quick del terminal

Pestaña Terminal · Lista de servidores (modo quick) → Mantén pulsado sobre un servidor → Copy Scheme Link

3. Copiar el enlace de «esta sesión» ⭐ La más útil

Pestaña Terminal · Lista de sesiones → Mantén pulsado sobre una sesión → Copy Scheme Link

Este enlace empaquetará «la conexión a la sesión Y del servidor X»:

  • Si esta sesión es tmux → añadirá automáticamente &tmuxName=...
  • Si esta sesión es zellij → añadirá automáticamente &zellijName=...
  • Sesión normal → solo incluye host/port/user

Al copiarse con éxito aparecerá el mensaje Link Copied, y el enlace estará en el portapapeles.

✏️ El enlace copiado solo contiene host/port/user (el enlace de la sesión lleva además tmuxName o zellijName). ¿Quieres añadir un name (descripción) o un command (comando automático)? Solo tienes que añadirlos manualmente al final del enlace, por ahora la App no genera estos dos.

💡 Mantén pulsado para copiar una sesión de tmux que se esté ejecutando y envíala a un colega; al abrirla desde NeoServer, se conectará directamente a la misma sesión; ambos entraréis en la misma pantalla del terminal.


4. Cómo abrir este enlace

neoserver:// es un protocolo de enlace de iOS: en cualquier lugar donde puedas hacer clic en un enlace, se podrá activar NeoServer:

  • Safari: Pégalo en la barra de direcciones y pulsa Enter, o guárdalo en favoritos para hacer clic.
  • Notas / Recordatorios: Guárdalo como una nota, haz un clic y entrarás directamente.
  • Atajos (Shortcuts): Introduce el enlace en la acción «Abrir URL» → puedes vincularlo a la voz de Siri, a un icono en el escritorio o a una automatización.
  • AirDrop: Envía un enlace entre dos iPhones y la otra persona solo tiene que abrirlo para conectarse.
  • Correo electrónico: Envía el enlace como texto; el destinatario lo copia y lo abre en Safari.

📱 La primera vez que se hace clic en un enlace neoserver:// en un dispositivo real, iOS mostrará el mensaje «¿Deseas abrir en NeoServer?», basta con confirmarlo y no volverá a aparecer.


5. Tres escenarios prácticos

🏠 Escenario 1: Convertir «conectar a tmux de producción» en un icono de escritorio

Cada día tienes que conectarte a la sesión main de tmux en el servidor de producción. En lugar de abrir la App → buscar el servidor → conectar → hacer attach cada vez, es mejor convertirlo en un icono:

  1. Copia el enlace de este servidor desde la App y añádele manualmente &tmuxName=main;
  2. Abre «Atajos» (Shortcuts) de iOS → Nuevo → Añade la acción «URL», pega este enlace;
  3. Añade la acción «Abrir URL»;
  4. Haz clic en Compartir → Añadir a la pantalla de inicio, ponle el nombre «Conectar a prod» y elige un icono.

A partir de ahora, al hacer clic en este icono de escritorio, NeoServer se conectará automáticamente y entrará en la sesión main, todo sin pasos adicionales.

🎙️ Escenario 2: Conectarse por voz

Integra el atajo anterior con Siri y configura la frase «Oye Siri, conectar a prod». Cuando lo digas, el teléfono se conectará automáticamente.

🤝 Escenario 3: Enviar una sesión a un colega

  1. Terminal · Lista de sesiones → Mantén pulsado en esta sesión → Copy Scheme Link;
  2. Envíaselo a tu colega (vía AirDrop / WeChat / lo que prefieras);
  3. Él lo abre desde NeoServer → se conecta automáticamente a la misma sesión de tmux.

(Requisito: en su iPhone, la biblioteca de servidores de su NeoServer también debe poder conectarse al mismo host).

🖥️ Escenario 4: Ejecutar un comando con un icono en el escritorio

Si necesitas revisar a diario el estado de los contenedores de una máquina y no quieres escribir docker ps a mano cada vez que te conectas:

  1. Copia el enlace del servidor y añade manualmente &command=docker%20ps;
  2. Hazlo un icono en el escritorio igual que en el Escenario 1, y ponle el nombre «Estado contenedores».

A partir de ahora, haz clic en el icono → NeoServer se conecta → ejecuta automáticamente docker ps, y el resultado aparece directamente en el terminal.


6. Preguntas frecuentes sobre enlaces del terminal

P: Hice clic en el enlace pero me conecté al servidor equivocado, ¿por qué? R: NeoServer busca el servidor por su host (+ port si se indicó + user si se indicó). Si tienes dos servidores en tu biblioteca con el mismo host, se conectará al primer coincidente. Rellenar el port o el user permite distinguirlos con precisión.

P: ¿Qué pasa si no tengo este servidor en la biblioteca y hago clic en el enlace? R: Ya no aparece la página de «Nuevo servidor». Ahora se abre directamente un terminal temporal in situ utilizando el host/port/user del enlace:

  • Primero intenta la autenticación sin credenciales (ideal para escenarios como Tailscale SSH, donde la conexión ya verifica la identidad);
  • Si el servidor requiere contraseña, recurre a la autenticación normal con contraseña / keyboard-interactive de NeoServer;
  • El servidor temporal no se guarda en tu biblioteca de servidores, se elimina al cerrarlo;
  • Pero dejará una instantánea sin contraseña ni claves privadas en las «Sesiones recientes»; si tocas sobre ella tras reiniciar la App, podrás reconectar.

Los parámetros name / tmuxName / zellijName / workdir / command originales del enlace seguirán funcionando con normalidad.

P: ¿Se puede poner la contraseña directamente en el enlace para no tener que introducirla cada vez? R: No. Esto es una restricción de seguridad: los enlaces nunca contienen contraseñas. Incluso si añades manualmente password=xxx, será ignorado. La contraseña solo se transmite mediante el llavero dentro de la App.

P: ¿Para qué sirve name? R: Es simplemente un nombre descriptivo para esta conexión de terminal, para que puedas identificarlo fácilmente en la lista. No interviene en la coincidencia de servidores: dos enlaces con el mismo host pero diferente name se seguirán conectando al mismo servidor.

P: ¿Tiene algún riesgo de seguridad usar command? R: Un poco, hay que ser consciente de ello. command se ejecutará automáticamente (con salto de línea) al conectar. Cualquier App o página web puede emitir un enlace neoserver://...&command=..., así que no hagas clic en enlaces sospechosos que lleven command. La primera vez, iOS mostrará un mensaje de «¿Deseas abrir en NeoServer?» como única barrera de protección; además, no podría llevar la contraseña a servidores que la requieran, por lo que solo recurrirá a la autenticación normal.

P: ¿Se pueden poner directorios con espacios o caracteres chinos en workdir? R: Sí. Escríbelo directamente, por ejemplo workdir=/home/me/my logs. La App gestionará los caracteres especiales automáticamente. La forma más segura es copiar el enlace desde la App en lugar de escribirlo a mano.

P: Hago clic y no pasa nada, ¿por qué? R: ① Confirma que empieza por neoserver://; ② La primera vez aparecerá un mensaje de confirmación «Abrir en NeoServer»; ③ Comprueba que host no esté vacío; ④ No importa si la App no está en primer plano, se activará automáticamente.

P: ¿Se puede abrir desde Android / Windows? R: No. neoserver:// solo lo reconocen los iPhone / iPad que tengan NeoServer instalado.


¿Listo para probarlo?

NeoServer · SSH, Mosh, Docker & SFTP client for iPhone, iPad and Mac

Gratis en el App Store