SSH, SFTP y herramientas remotas
Guarda servidores SSH, conéctate con contraseña, con una clave o con un código de un solo uso, comprueba la clave de host de cada servidor, explora sus archivos por SFTP y redirige puertos, todo desde el Terminal. Esta página cubre la parte SSH; la shell local tiene su propia página. Donde hay un botón pero la función no está terminada (escritorio remoto, partes de SFTP), la página lo dice y da el motivo.
Qué es y cómo se abre
El Terminal se abre como una capa a pantalla completa con una pantalla de inicio, la pantalla de la shell local y la pantalla SSH. Todo lo de esta página ocurre en la pantalla SSH, donde cada pestaña es una sesión remota. Cerrar la capa, o volver a la pantalla de inicio, no cierra tus sesiones.
- 1Toca Herramientas en la barra inferior y luego Terminal. También puedes ejecutar Abrir terminal desde la paleta de comandos, o tocar la tarjeta Hosts SSH de Inicio (aparece cuando has guardado un host).
- 2En la pantalla de inicio, toca Conexión Rápida para escribir un
usuario@host, o Explorar Hosts para abrir tus servidores guardados. Ambos llevan a la pantalla SSH. Las sesiones abiertas aparecen como chips sobre las tarjetas para volver a ellas. - 3En la pantalla SSH cada pestaña es una sesión remota. + en la barra de pestañas abre Hosts, y sin ninguna sesión abierta Hosts aparece solo.
- 4Las herramientas: en una tablet (unos 660 dp de ancho o más, sin vista dividida) un panel a la derecha muestra las 32 herramientas SSH como una tira de iconos. En un teléfono, toca la llave inglesa de la barra de pestañas (Más opciones) para abrir las mismas herramientas en un menú.

Mapa de pantallas
| Pantalla | Cómo llegas | Qué puedes hacer |
|---|---|---|
| Pantalla de inicio del Terminal | Herramientas → Terminal, la paleta de comandos (Abrir terminal), o la tarjeta Hosts SSH de Inicio | Shell local, Conexión Rápida, Explorar Hosts y chips para retomar sesiones abiertas. |
| Pantalla SSH | Conexión Rápida o Explorar Hosts en la pantalla de inicio | Pestañas con sesiones remotas, una barra de estado con Desconectar o Reconectar, y el panel o menú de herramientas. |
| Hosts | Explorar Hosts, + en la barra de pestañas, o la herramienta Hosts | Buscar, filtrar por grupo, Conectar todos, favoritos, Agregar Host, Editar, Eliminar y el gestor de grupos. |
| Nuevo Host / Editar Host | Agregar Host o Editar en Hosts | Dirección, autenticación, identidades, grupo y etiquetas, proxy, host de salto. |
| Conexión Rápida | La pantalla de inicio, la herramienta Conexión Rápida, o Rápido en Hosts | Conectar a usuario@host:puerto con contraseña; el host se guarda. |
| Verificar Clave del Host / ¡Clave del Host Cambiada! | Automática, al conectar con un servidor desconocido o cuya clave cambió | Comparar la huella y elegir Confiar y Conectar o Rechazar. |
| Desafío de Autenticación | Automática, con autenticación Interactivo por Teclado | Responder a códigos de un solo uso y avisos parecidos. |
| Claves SSH y Generar clave | La herramienta Claves SSH (grupo Seguridad del menú) | Generar, importar, copiar la clave pública, desplegarla en un servidor y eliminar. Incluye claves vinculadas al dispositivo. |
| Explorador SFTP | La herramienta Explorador SFTP (grupo Conexión), con una sesión conectada | Explorar el servidor, crear carpetas, renombrar y eliminar (también varios a la vez). |
| Vista de dos paneles | Vista de dos paneles dentro del explorador SFTP | Ver la carpeta del teléfono y el servidor lado a lado. Copiar arrastrando todavía no funciona. |
| Cola de Transferencias | La herramienta Cola de Transferencias (grupo Conexión) | Lista las transferencias en cola. Todavía nada se añade a ella. |
| Redirección de puertos | La herramienta Reenvío de Puertos (grupo Conexión), con una sesión conectada | Añadir redirecciones locales y remotas de la sesión en primer plano. |
| VNC / RDP | La herramienta VNC / RDP (grupo Conexión) | Guardar conexiones VNC y RDP y conectar. La pantalla remota todavía no se dibuja. |
| Serial / UART | La herramienta Serial / UART (grupo Conexión) | Guardar configuraciones de puerto serie USB y conectar; Android pide permiso para usar el dispositivo USB. |
| Proveedores Cloud | La herramienta Proveedores Cloud (grupo Seguridad) | Ejecutar el CLI de un proveedor en tu servidor, o pegar instancias como JSON para guardarlas como hosts. |
| Monitor Watchdog | La entrada Monitor Watchdog del grupo Automatización (Pro) | Ejecutar un comando en el servidor cada pocos segundos y recibir un aviso cuando la salida cambia. |
| Webhooks | La entrada Webhooks del grupo Automatización (Pro) | Crear un enlace que, tras tu confirmación, ejecuta un comando en un host. |
| Paquetes | La herramienta Paquetes (grupo Herramientas Linux), solo en SSH | Listar, actualizar, instalar y quitar paquetes apt del host. |
| Sync y Equipos | La herramienta Sync y Equipos (grupo Configuración) | Hacer una copia local de hosts y snippets, y alojar o unirte a una sala de equipo en tu red. |
| Importar / Exportar | La herramienta Importar / Exportar (grupo Configuración) | Copiar tus hosts como JSON, e importar JSON, ~/.ssh/config, known_hosts o CSV pegando el texto. |
Hosts y conexión
Un host es un servidor guardado: adónde conectar, quién eres y cómo lo demuestras. Tus hosts se guardan en el dispositivo, por cuenta de PocketCode.
Hosts
La lista de servidores guardados, con el nombre, hostname:puerto y la última conexión de cada uno. Ábrela con Explorar Hosts, + en la barra de pestañas o la herramienta Hosts.
Lo que puedes hacer
- Busca con Buscar hosts…: coincide con el nombre, el hostname y las etiquetas.
- Filtra con los chips de grupo: Todos y un chip por grupo y subgrupo (el chip de un grupo incluye sus subgrupos). Gestionar grupos abre el gestor de grupos.
- Con un grupo seleccionado, Conectar todos (N) conecta todos los hosts del grupo y de sus subgrupos.
- Los hosts con estrella aparecen en Favoritos y el resto en Todos los Hosts.
- Toca un host para conectar. El menú de cada tarjeta tiene Conectar, Favorito, Editar y Eliminar.
- Agregar Host abre el formulario; Rápido abre Conexión Rápida.
- En el gestor de grupos, Nuevo grupo pide un Nombre, un Grupo padre, un Tema (heredado por los hosts) y Grabar sesiones automáticamente: los hosts de ese grupo y sus subgrupos inician el registro de sesión (la insignia LOG) en cuanto conectan. Eliminar grupo deja sus hosts sin grupo.
Lo que no puedes hacer, y por qué
- Guardar un segundo host en Free, por cualquier puerta: Agregar Host, Conexión Rápida, las importaciones (JSON, SSH config, CSV) y la importación de instancias cloud se detienen en 1 host guardado y muestran el muro de Terminal Pro. El límite es 1 host guardado.Pro
- Dar a un grupo entero un proxy, una identidad por defecto o variables de entorno: en un grupo solo se pueden fijar el tema y Grabar sesiones automáticamente.Aún no
Nuevo Host y Editar Host
El formulario contiene tu contraseña o tu clave, por eso está protegido contra capturas y grabación de pantalla. Guardar se activa cuando Hostname y Usuario están rellenos y el puerto está entre 1 y 65535.
Lo que puedes hacer
- Conexión: una Etiqueta opcional, el Hostname, el Puerto (22 por defecto) y el Usuario.
- Autenticación → Método de Auth: Contraseña, Par de Claves o Interactivo por Teclado. La contraseña se guarda cifrada; al editar un host el campo dice (sin cambios).
- Con Par de Claves, elige una clave de Claves SSH (las vinculadas al dispositivo están marcadas), o elige Pegar manualmente y pega la clave privada, con su Frase de Clave si la tiene. El campo de frase no aparece para claves vinculadas al dispositivo.
- Con Interactivo por Teclado el servidor pide lo que necesite durante la conexión, por ejemplo un código de un solo uso: Se te solicitará durante la conexión.
- Usar identidad rellena el usuario y la credencial desde una identidad guardada; Guardar como identidad guarda los actuales. Una identidad es una plantilla que se copia al host, no un enlace vivo: cambiarla después no cambia los hosts que ya la usaron.
- Organización: elige un Grupo y añade Etiquetas separadas por comas.
- Avanzado: Proxy / Jump Host con un proxy SOCKS5 o HTTP (host y puerto); Host de salto, otro host guardado que hace de bastión, hasta 3 saltos, que aparece cuando tienes otro host guardado; y el interruptor Agent Forwarding.
- Elige un Color y marca el host como favorito con la estrella.
Lo que no puedes hacer, y por qué
- Fijar un comando de inicio o redirecciones de puertos guardadas en un host: el formulario no tiene campos para ello, y guardar un host desde el formulario borra ambos.Aún no
- Usar por sí solo el chip SSH Jump Host: se conserva por datos antiguos y no hace nada. El salto real es la lista Host de salto.Aún no
Conexión Rápida
Para un servidor que no has guardado. Escribe la dirección, añade la contraseña y conecta.
Lo que puedes hacer
- Escribe
usuario@hostousuario@host:puertoen Cadena de Conexión; una dirección IPv6 va entre corchetes,usuario@[::1]:22. Una vista previa muestra el usuario, el host y el puerto. - Escribe la contraseña en Contraseña (opcional) y toca Conectar. El botón sigue apagado hasta que el texto contiene una
@. - El host se guarda en Hosts antes de conectar, si el plan tiene sitio. En Free, con 1 host ya guardado, conecta igualmente, pero el host nuevo no se guarda y se abre el muro de Terminal Pro.
Lo que no puedes hacer, y por qué
- Conectar con una clave o con un código de un solo uso: Conexión Rápida siempre crea un host con Contraseña, y sin contraseña la pestaña dice
Error: No password stored for this host. Usa Agregar Host para claves e Interactivo por Teclado.Aún no
Verificar Clave del Host y ¡Clave del Host Cambiada!
La primera vez que conectas con un servidor, y cada vez que su clave cambia, la conexión espera tu decisión. PocketCode recuerda las claves en las que confiaste (confianza en el primer uso).
Lo que puedes hacer
- Lee el Host, el Tipo de clave y la Huella Digital (en formato
SHA256:) y compárala con la que muestra tu servidor. - Un servidor nuevo muestra Verificar Clave del Host: Confiar y Conectar guarda la clave y continúa; Rechazar cancela.
- Si la clave guardada y la del servidor difieren, el diálogo se titula ¡Clave del Host Cambiada!, muestra la Huella anterior y avisa de un posible ataque man-in-the-middle. Continúa solo si sabes que el servidor se reinstaló o se reconfiguró.
- Si no respondes en 60 segundos, se rechaza la conexión.
Lo que no puedes hacer, y por qué
- Ver o quitar la lista de servidores de confianza: no hay pantalla para ello. Puedes añadir entradas importando un fichero
known_hosts.Aún no
Desafío de Autenticación
Aparece con autenticación Interactivo por Teclado cuando el servidor pide algo, como un código de un solo uso. El diálogo está protegido contra capturas de pantalla.
Lo que puedes hacer
- Responde cada aviso en su campo Respuesta N (el texto se oculta o se muestra según pida el servidor) y toca Enviar. Cancelar descarta el intento.
- Tienes 120 segundos para responder.
Lo que no puedes hacer, y por qué
- Guardar las respuestas: cada conexión vuelve a preguntar.A propósito
Claves SSH
Claves SSH es la lista de pares de claves con los que puedes iniciar sesión. Ábrela desde la herramienta Claves SSH (grupo Seguridad del menú de herramientas). Para usar una clave en un host, elige Par de Claves en el formulario del host.
Claves SSH
Una tarjeta por clave: etiqueta, tipo y tamaño, huella y clave pública.
Lo que puedes hacer
- Reconoce las claves vinculadas al dispositivo por su insignia Vinculada al dispositivo.
- Importar un fichero de clave privada de tu teléfono con el selector de archivos del sistema; el nombre del fichero pasa a ser la etiqueta.
- Generar clave crea un par nuevo (sección siguiente).
- Copiar clave pública pone la clave pública en el portapapeles.
- Desplegar añade la clave pública a
~/.ssh/authorized_keysdel servidor de la sesión en primer plano, creando la carpeta con modo 700 y el fichero con modo 600. El botón aparece mientras hay una sesión abierta. La pestaña escribe[Key deployed to authorized_keys]cuando el comando se ha ejecutado; PocketCode no comprueba su resultado, así que prueba la clave después. - Eliminar borra la clave; en una clave vinculada al dispositivo también la borra del Keystore de Android.
Lo que no puedes hacer, y por qué
- Copiar o desplegar la clave pública de una clave importada: la app no guarda clave pública de las importaciones (la tarjeta muestra
importeden lugar de una huella). Una clave importada solo firma conexiones.Aún no - Exportar la clave privada de una clave vinculada al dispositivo: nunca sale del Keystore de Android.A propósito
Generar clave
Se abre con Generar clave en la lista de claves.
Lo que puedes hacer
- Rellena Etiqueta de la clave y elige un Tipo de clave con su Tamaño en bits: RSA (2048 o 4096, con 4096 preseleccionado), ED25519 (256), ECDSA (256, 384 o 521), DSA (1024) o DEVICE-BOUND.
- Añade una Frase de contraseña opcional a la clave privada (no para DEVICE-BOUND).
- DEVICE-BOUND crea una clave ECDSA P-256 dentro del Keystore de Android. La clave privada no se puede exportar, copiar ni sincronizar; solo la clave pública sale del teléfono. Requerir biometría/PIN reciente para firmar viene activado: la clave solo firma durante los 30 segundos posteriores a que te autentiques con biometría o con el PIN del dispositivo. PocketCode no muestra un aviso propio al conectar.
Lo que no puedes hacer, y por qué
- Usar una clave vinculada al dispositivo en otro teléfono o restaurarla desde una copia de seguridad.Dispositivo
La sesión SSH y sus herramientas
Un host conectado es una pestaña de la pantalla SSH. Una pestaña remota que no está conectada muestra una barra de estado con Desconectar o Reconectar.
Pestañas, reconexión y cierre
Cada pestaña es una conexión. Conectar caduca a los 15 segundos, y la conexión se comprueba cada 30 segundos.
Lo que puedes hacer
- Una pulsación larga en una pestaña abre Renombrar, Duplicar sesión (en pestañas que vienen de un host guardado) y Cerrar otras pestañas (si hay más de una).
- Cerrar una pestaña que sigue conectada pregunta ¿Cerrar sesión activa?: al cerrarla se desconecta y se detienen sus redirecciones de puertos. Cerrar otras pestañas siempre pregunta.
- Cuando vuelve la red, PocketCode reconecta solo las sesiones caídas. El interruptor está en Configuración → Terminal → Reconexión automática del terminal, activado por defecto. La pestaña escribe
[Network connection lost]y después[Network restored — reconnecting…].
Lo que no puedes hacer, y por qué
- Tener más de una sesión abierta en Free: abrir otra pestaña, conectar un segundo host, Duplicar sesión y Shell Multiplexado muestran el muro de Terminal Pro. El límite es 1 sesión SSH activa; un shell local en la pantalla Terminal se cuenta aparte.Pro
- Mantener las sesiones activas en segundo plano sin ayuda de Android: puede pausar o cortar las sesiones SSH y las redirecciones de puertos al cambiar de app, salvo que PocketCode esté excluida de la optimización de batería. La app lo pregunta una vez: Mantén las sesiones SSH activas en segundo plano → Abrir ajustes.Dispositivo
Shell Multiplexado y Difundir
Ambos están en el menú de herramientas (la llave inglesa), en Sesión, y ambos necesitan una sesión conectada.
Lo que puedes hacer
- Shell Multiplexado abre otra shell sobre la misma conexión SSH en una pestaña nueva llamada
<host> (mux). - Difundir envía cada comando que escribes a todas las pestañas conectadas a la vez; las pestañas de shell local que estén conectadas también lo reciben. Mientras está activo se ve la insignia BROADCAST; toca Difusión desactivada para pararlo.
Lo que no puedes hacer, y por qué
- Usar Difundir en Free: muestra el muro de Terminal Pro.Pro
- Llegar a Difundir y Shell Multiplexado desde el panel acoplado en una pantalla ancha: solo existen en el menú de herramientas, que el diseño acoplado oculta. Estrecha la ventana por debajo de unos 660 dp, o activa la vista dividida (Pro), para recuperar el menú.A propósito
Las herramientas
La pantalla SSH tiene 32 herramientas. En el menú de herramientas se agrupan en siete categorías; el panel acoplado las muestra en una sola tira. Las que comparte con la shell local se explican en la página del Terminal Linux.
| Categoría | Herramientas de la pantalla SSH |
|---|---|
| Conexión | Conexión Rápida, Hosts, Explorador SFTP, Reenvío de Puertos, Comparte tu servidor, Serial / UART, VNC / RDP, Cola de Transferencias |
| Sesión | Split Horizontal / Split Vertical (Pro), Shell Multiplexado, Difundir, Historial de Comandos, Gestor de Alias, Trabajos en Segundo Plano, Copiar Output, Limpiar Terminal, Iniciar Grabación |
| Herramientas Linux | Archivos, Procesos, Red, Paquetes, Uso de Disco, Info del Sistema, Variables de Entorno, Panel de Git |
| Fragmentos | Todos los Fragmentos y ocho accesos a categorías |
| Automatización | Macros de Teclado, Scripts Rápidos, Reglas Expect, Monitor Watchdog, Webhooks |
| Seguridad | Claves SSH, Proveedores Cloud, Perfiles |
| Configuración | Registros de sesión, Sync y Equipos, Importar / Exportar, Botones de volumen: OFF / ON |

SFTP
SFTP trabaja sobre la sesión en primer plano, así que necesita un host conectado. Abre Explorador SFTP desde la tira de herramientas o desde el grupo Conexión del menú de herramientas. La única subida que funciona hoy desde la interfaz es Adjuntar archivo, descrita al final.
Explorador SFTP
Empieza en la raíz del servidor, /.
Lo que puedes hacer
- Explora el servidor: primero las carpetas y luego los archivos, cada fila con sus permisos y, en los archivos, su tamaño. Toca una carpeta para abrirla y usa la flecha de retroceso para subir.
- Nueva carpeta y, desde el menú Más opciones de una fila, Renombrar o Eliminar.
- Mantén pulsada una fila para empezar a seleccionar, toca para añadir más y elimínalas juntas. Se te pregunta ¿Eliminar N elementos seleccionados? No se puede deshacer. Cada elemento se borra por separado, así que un fallo no detiene al resto.
- Vista de dos paneles cambia al diseño de dos paneles.
Lo que no puedes hacer, y por qué
- Descargar, subir o abrir un archivo desde esta vista: tocar un archivo no hace nada, solo se abren las carpetas.Aún no
- Eliminar una carpeta que aún tiene archivos: las carpetas se borran con la llamada SFTP
rmdir, así que vacíalas antes.A propósito - Ver por qué falló una operación: los errores no se muestran. Una carpeta que no se puede leer parece vacía (Este directorio está vacío), y un renombrado o borrado fallido deja la lista como estaba.Aún no
Vista de dos paneles
SFTP — Arrastrar y Soltar muestra tu teléfono y el servidor lado a lado. La pista bajo el título dice Mantén pulsado para arrastrar.
Lo que puedes hacer
- El panel Local empieza en la carpeta que contiene tus proyectos; el panel Remoto empieza en
/. Toca una carpeta para abrirla y usa la flecha de la parte superior de un panel para subir. - Vuelve con Vista de un panel.
Lo que no puedes hacer, y por qué
- Copiar un archivo entre los paneles arrastrándolo: la hoja lo ofrece, pero el soltar todavía no está conectado a la transferencia, así que no se copia nada.Aún no
Cola de Transferencias
Una lista de transferencias con barra de progreso, Cancelar y Limpiar Completadas. Si está vacía dice No hay transferencias activas.
Lo que puedes hacer
- Ver las transferencias en cola (Esperando, Completada, Fallida), cancelar una o limpiar las terminadas con Limpiar Completadas.
Lo que no puedes hacer, y por qué
- Añadir una transferencia a la cola: nada en la app le envía archivos todavía, así que siempre dice No hay transferencias activas.Aún no
Subir un archivo desde tu teléfono
El botón Adjuntar archivo de la barra de entrada, en una sesión SSH.
Lo que puedes hacer
- Toca Adjuntar archivo y elige un archivo: se sube por SFTP a
/tmp/<nombre del archivo>del servidor, y la ruta se escribe en la barra de entrada, lista para tu siguiente comando.
Lo que no puedes hacer, y por qué
- Elegir el destino o conservar un archivo existente: el archivo va siempre a
/tmp, y uno con el mismo nombre se sobrescribe.A propósito

Redirección de puertos
La redirección de puertos lleva tráfico a través de la conexión SSH. Las reglas pertenecen a la sesión en primer plano. Abre Reenvío de Puertos desde la tira de herramientas o el grupo Conexión del menú de herramientas; necesita una sesión conectada.
Redirección de puertos
Lista las reglas de la sesión en primer plano (N reglas).
Lo que puedes hacer
- Añadir regla abre un formulario: Tipo (Local (L), Remoto (R) o Dinámico), Etiqueta, Puerto local, Host remoto (preajustado a
localhost), Puerto remoto e Inicio automático. - Local (L) escucha en un puerto de tu teléfono y envía el tráfico a través del servidor a Host remoto:Puerto remoto, tal como lo ve el servidor. Por ejemplo, llegar a una base de datos del servidor por
localhost:5432. - Remoto (R) escucha en Puerto remoto en el servidor y envía el tráfico a Host remoto:Puerto local, al que se llega desde tu teléfono (
localhostpor defecto). Por ejemplo, exponer un servidor de desarrollo que corre en el teléfono. - Cada regla muestra Activo o Detenido; puedes iniciarla, detenerla o borrarla.
- Cerrar la pestaña o desconectar termina las redirecciones de la sesión.
Lo que no puedes hacer, y por qué
- Tener más de 1 regla a la vez en Free (contada sobre la sesión en primer plano).Pro
- Usar Dinámico como proxy SOCKS: la regla se llama Proxy SOCKS y escribe
SOCKS5 proxy on localhost:N, pero la app la implementa como una redirección simple de ese puerto alocalhosten el mismo número de puerto, no como un proxy SOCKS5.Aún no - Conservar las reglas entre sesiones: no se guardan con el host, así que Inicio automático no tiene nada que iniciar en la siguiente conexión.Aún no
Escritorio remoto (VNC y RDP)
La herramienta VNC / RDP (grupo Conexión) abre una lista de conexiones de escritorio remoto guardadas. Hoy conecta, pero no puede mostrar la pantalla remota.
VNC / RDP
La hoja se titula Escritorio Remoto. Algunos de sus botones (Conectar, Guardar, Eliminar) están en español sea cual sea el idioma de la app.
Lo que puedes hacer
- Nueva conexión: protocolo VNC (puerto 5900) o RDP (3389), una etiqueta, host, puerto, un usuario (RDP) y una contraseña, un nivel de calidad y Solo lectura.
- Conectar abre una conexión directa a ese host y puerto (no por SSH), hace el saludo VNC (sin autenticación, o con contraseña VNC) y escribe
Connected:con el nombre del servidor y el tamaño de pantalla en una pestaña nueva, además de cualquier aviso sonoro o texto del portapapeles que envíe el servidor.
Lo que no puedes hacer, y por qué
- Ver o controlar la pantalla remota: la conexión lee las actualizaciones de pantalla y las descarta, y no hay vista ni entrada de ratón o teclado.Aún no
- Usar RDP: elegir RDP ejecuta el mismo código VNC y no hay cliente RDP.Aún no
Serie / UART
La herramienta Serial / UART (grupo Conexión) es para adaptadores USB-serie: placas Arduino, routers, dispositivos IoT.
Serial / UART
Subtítulo: Conexión a puertos seriales USB (Arduino, routers, IoT).
Lo que puedes hacer
- Ver Dispositivos detectados, los dispositivos USB que informa Android.
- Añadir configuración: Dispositivo (vacío = auto), Baud (115200 por defecto), Bits (8), Stop (1) y un menú Paridad (Ninguna, Impar, Par, Mark, Space). Ese menú y los botones Guardar y Cancelar están siempre en español.
- El botón de reproducir de una configuración guardada conecta: busca el dispositivo con la API de host USB de Android, abre su interfaz de datos serie y fija la codificación de línea; si todo va bien, la pestaña dice
Connected to …. - La primera vez, el propio diálogo de Android pide permiso para usar el dispositivo USB (la pestaña escribe
Requesting USB permission for <dispositivo>…). Concédelo y la conexión sigue; PocketCode espera tu respuesta hasta 60 segundos.
Lo que no puedes hacer, y por qué
- Conectar tras rechazar el permiso USB, o tras 60 segundos sin contestar a su diálogo: la pestaña escribe
USB permission not granted for <dispositivo>y la sesión acaba en error. Pulsa reproducir otra vez para reintentarlo.Dispositivo - Usar un adaptador que no exponga una interfaz de datos CDC o específica del fabricante con endpoints bulk: la pestaña escribe
USB device does not have expected CDC serial endpoints.Dispositivo
Proveedores cloud
Proveedores Cloud (grupo Seguridad) muestra seis chips: Amazon AWS, Google Cloud, Microsoft Azure, DigitalOcean, Kubernetes y Docker. No hace llamadas a APIs cloud y no usa las cuentas que conectes en Platform Services.
Proveedores Cloud
La hoja se titula Servicios Cloud.
Lo que puedes hacer
- Toca un chip para ejecutar el CLI de ese proveedor en el servidor de la sesión en primer plano (
aws ec2 describe-instances,gcloud compute instances list,az vm list,doctl compute droplet list,kubectl get pods,docker ps). El CLI tiene que estar instalado en el servidor. La pestaña escribe[Cloud discovery (AWS): N bytes received]. - Importar instancias (JSON): pega un array JSON como
[{"provider":"AWS","name":"…","publicIp":"…"}]. Cada instancia con dirección IP se guarda como host (usuarioroot, puerto 22, etiquetado con su proveedor) y aparece en Instancias (N) con Conectar. En Free solo se guardan como hosts las que caben en el límite de 1 host, pero todas las instancias aparecen en Instancias (N); para el resto se abre el muro de Terminal Pro.
Lo que no puedes hacer, y por qué
- Importar instancias automáticamente: el descubrimiento solo escribe cuántos bytes devolvió el CLI y no convierte la salida en instancias. El JSON hay que pegarlo.Aún no
- Conectar a una instancia importada sin añadir antes credenciales: los hosts importados son hosts con Contraseña sin contraseña guardada. Edita el host para añadir una contraseña o elegir una clave.Aún no
Watchdog y webhooks
Las dos herramientas están en el grupo Automatización y necesitan un host conectado. Crear cualquiera de las dos requiere Pro: en Free aparece el muro de Terminal Pro.
Monitor Watchdog
Ejecuta un comando en el servidor a intervalos fijos y te avisa cuando la salida no es la esperada.
Lo que puedes hacer
- Agregar watchdog: Etiqueta, Comando (preajustado a
systemctl is-active nginx), Salida esperada (preajustada aactive) e Intervalo (segundos) (preajustado a 60). - Inicia o detén un monitor con su interruptor, o bórralo. La primera comprobación se hace tras un intervalo.
- Cada comprobación ejecuta el comando sobre la sesión que estaba en primer plano al iniciar el monitor. Si la salida no contiene el texto esperado (sin distinguir mayúsculas), la pestaña escribe
⚠ Watchdog alert: <comando> → <salida>y el monitor se marca como fallido.
Lo que no puedes hacer, y por qué
- Crear un watchdog en Free.Pro
- Recibir una notificación del sistema: las alertas son líneas en la pestaña del terminal, y los monitores solo corren mientras la app está en marcha.A propósito
- Ligar un monitor a un host concreto: corre sobre la sesión que esté en primer plano cuando lo inicias.A propósito
Webhooks
Un webhook es un enlace que pide a PocketCode ejecutar un comando guardado en un host guardado. Otra app puede abrirlo, por ejemplo un lanzador o una app de automatización.
Lo que puedes hacer
- Crear webhook: Nombre, Seleccionar host y Comando. Cada webhook muestra su enlace,
pocketcode://terminal/webhook/<id>?secret=<secreto>, enmascarado en pantalla y con un botón de copiar, además de un interruptor Activo / Inactivo, N ejecuciones y Eliminar. - Cuando algo abre el enlace, PocketCode comprueba el id y el secreto. Solo si el webhook está activo y ambos coinciden pregunta ¿Ejecutar la automatización? (Un enlace ha pedido ejecutar la regla «X» en HOST.). Ejecutar conecta con el host y envía el comando; Cancelar no hace nada. Un secreto equivocado no recibe respuesta alguna.
Lo que no puedes hacer, y por qué
- Crear un webhook en Free.Pro
- Ejecutar un webhook sin supervisión: cada disparo pide antes tu confirmación.A propósito
- Disparar un webhook desde la web: solo existe el enlace
pocketcode://. La app no abre un puerto de escucha en tu teléfono para ejecutar comandos en tus servidores.A propósito
Gestor de paquetes
Paquetes (grupo Herramientas Linux) aparece solo en la pantalla SSH, porque la shell local no tiene gestor de paquetes.
Paquetes
Subtítulo: System packages, en inglés sea cual sea el idioma de la app. Cada acción se escribe en la sesión, así que ves su salida en el terminal.
Lo que puedes hacer
- Lista los paquetes instalados del host (lee
pkg list-installedy, si falla,dpkg -l, quedándose con los instalados), búscalos con Buscar paquetes… y actualiza. - Actualizar Todo (
apt update && apt upgrade -y), Listar Todo, Limpiar (apt autoclean) e Instalar (pide Ingresa un nombre de paquete: y ejecutaapt install <nombre> -y). - Sobre un paquete: su información (
apt show) y quitarlo (apt remove <nombre> -y).
Lo que no puedes hacer, y por qué
- Usar otro gestor de paquetes (yum, dnf, apk…): los comandos están fijados a
apt.Aún no - Ejecutar los comandos con
sudoautomáticamente: corren como tu usuario SSH tal cual se escriben, así que en un servidor donde ese usuario no es root pueden fallar con un error de permisos.A propósito
Sincronización y salas de equipo
Sync y Equipos (grupo Configuración) tiene dos mitades, Sync y Equipos. Ninguna requiere Pro.
Sync
La hoja se titula Sincronización y equipo.
Lo que puedes hacer
- Sincronizar genera una copia de tus hosts, tus snippets y algunos ajustes del terminal; los interruptores de Datos a sincronizar eligen qué entra. Última sincronización muestra cuándo se hizo.
- Conexiones en tu cuenta (un camino distinto de esta copia): con Activar sincronización en el diálogo Sincronización de Configuración (Cloud Sync, función Pro) y Conexiones (SSH/DB) marcada, guardar, editar, marcar con estrella o eliminar un host envía sus datos a tu cuenta de PocketCode: nombre, dirección, puerto, usuario, tipo de autenticación, etiquetas, favorito, grupo, proxy y el ajuste de reenvío de agente. Las contraseñas, las claves, las frases de paso y el comando de inicio se quedan en el teléfono. Los hosts que llegan por las importaciones JSON, SSH config o CSV no se envían. La misma casilla también lleva las conexiones del módulo Base de Datos, pero solo con su propio juego, más corto, de datos (nombre, host, puerto, motor y grupo): nunca un usuario ni una contraseña. Con Cloud Sync apagado, o esa casilla sin marcar, no sale nada.
- Cifrado end-to-end → Activar cifrado pide una Contraseña maestra y cifra la copia con AES-256-GCM, con una clave derivada de la contraseña (PBKDF2, 100 000 rondas). No se puede recuperar si la pierdes.
Lo que no puedes hacer, y por qué
- Recuperar en otro dispositivo los hosts sincronizados: la app guarda la lista que descarga, pero nada la convierte en hosts.Aún no
- Enviar esta copia a otro dispositivo o a la nube: la copia se escribe en un fichero dentro de la app (
terminal_sync_backup.json) y no se sube nada; la app no tiene forma de restaurar desde ella.Aún no - Incluir claves SSH: el interruptor Claves SSH existe, pero la copia nunca contiene claves.Aún no
Equipos
Las salas de equipo permiten que personas de la misma red se unan a una sala con un código.
Lo que puedes hacer
- Alojar una sala: ponle un Nombre de la sala y comparte el Código de 6 dígitos que muestra.
- Unirse a una sala: las salas cercanas se encuentran en la red local, o escribes el Código de 6 dígitos. Quien aloja ve Nueva solicitud (N quiere unirse) y toca Aceptar o Rechazar.
- La lista de miembros muestra cada rol: Solo lectura, Lectura y escritura o Admin. Quien aloja puede cambiar roles y quitar miembros; cualquiera puede Salir de la sala y quien aloja puede Cerrar sala.
- El tráfico entre dispositivos va cifrado (acuerdo de claves ECDH y AES-GCM). Desde Android 13, la primera vez que alojas una sala, buscas salas o te unes a una, Android pide el permiso de dispositivos cercanos (red local); hasta que lo concedas, esas tres acciones siguen bloqueadas.
Lo que no puedes hacer, y por qué
- Compartir hosts o snippets en una sala: la pista dice que se aloja o se une uno a una sala para compartirlos en vivo, pero hoy solo funcionan los miembros y los roles.Aún no
- Usar una sala fuera de tu red local: el descubrimiento y la conexión son solo LAN.Requiere red
- Conservar una sala tras reiniciar la app: una sala existe solo mientras está activa.A propósito
Importar y exportar
Importar / Exportar (grupo Configuración) mueve tu lista de hosts entre dispositivos o la trae de otras herramientas. Trabaja con texto que copias y pegas.
Exportar configuración
Toca Exportar y luego Copiar.
Lo que puedes hacer
- El JSON incluye tus hosts (nombre, dirección, puerto, usuario, tipo de autenticación, etiquetas, color, favorito y comando de inicio), tus grupos (nombre, color, icono) y tus snippets propios, no los predefinidos.
Lo que no puedes hacer, y por qué
- Exportar contraseñas, claves o ajustes: nunca están en el JSON. Al importarlo de nuevo se recrean los grupos, pero los hosts no vuelven a colocarse en ellos.Aún no
- Cifrar la exportación con una contraseña, guardarla como fichero o mostrarla como código QR: el texto es plano y copiar y pegar es la única vía de entrada y salida.Aún no
Importar configuración
Elige el formato, Pegar el texto y toca Importar. El resultado dice N elementos importados. En Free la importación se detiene en los límites del plan: 1 host guardado (JSON, SSH config y CSV) y 10 snippets propios (JSON; los 98 predefinidos no cuentan). Lo que no cabe se deja fuera, N elementos importados cuenta solo lo que entró y se abre el muro de Terminal Pro. Las entradas de known_hosts no tienen límite.
Lo que puedes hacer
- JSON: la exportación anterior. Los hosts ya guardados (mismo hostname, puerto y usuario) se omiten.
- SSH config: cada bloque
Hostse convierte en un host; los bloques con patrón comodín comoHost *se omiten. Un bloque conIdentityFilepasa a ser un host de Par de Claves sin la clave, yProxyJumppasa a ser un Host de salto cuando apunta a un host que existe. - known_hosts: las entradas en texto plano pasan a ser servidores de confianza; las entradas con hash (lo habitual en OpenSSH) no se pueden recuperar y se omiten.
- CSV: necesita una fila de cabecera. Columnas reconocidas:
label(oname),hostname(ohost,address),port,username(ouser) ygroup(ofolder); solo el hostname es obligatorio. El grupo se busca por nombre o se crea.
Lo que no puedes hacer, y por qué
- Importar desde un fichero o un código QR: la hoja solo admite texto pegado.Aún no
- Importar contraseñas o claves: ningún formato las lleva, así que los hosts importados necesitan que añadas las credenciales en Editar Host.A propósito
Free y Pro
Estas son las comprobaciones de plan que hace la app en la parte SSH, sacadas de las definiciones de plan (UserPlan, PlanFeature). Lo que no aparece aquí no tiene comprobación de plan.
| Función | Free | Pro |
|---|---|---|
| Hosts guardados (formulario Agregar Host, Conexión Rápida, importaciones e importación de instancias cloud) | 1 | Sin límite |
| Sesiones activas a la vez en la pantalla SSH (pestañas SSH, VNC / RDP, Shell Multiplexado, Duplicar sesión; el puerto serie usa el hueco de la pantalla Terminal) | 1 | Sin límite |
| Reglas de redirección de puertos (en la sesión en primer plano) | 1 | Sin límite |
| Difundir | No incluido: muestra el muro de Terminal Pro | Incluido |
| Monitor Watchdog (crear uno) | No incluido: muestra el muro de Terminal Pro | Incluido |
| Webhooks (crear uno) | No incluido: muestra el muro de Terminal Pro | Incluido |
| Explorador SFTP, Claves SSH (también vinculadas al dispositivo), verificación de clave de host, Proveedores Cloud, Paquetes, Sync y Equipos | Incluido (sin comprobación de plan) | Incluido |
Privacidad y seguridad
- Dónde viven tus secretos. Las contraseñas, las claves privadas (generadas, importadas o pegadas) y las frases de clave se guardan en las preferencias cifradas de Android: AES-256-SIV para los nombres y AES-256-GCM para los valores, con la clave maestra en el Keystore de Android. Se guardan por cuenta de PocketCode, así que iniciar sesión con otra cuenta en el mismo teléfono no las expone. Borrar un host elimina su contraseña, su clave y su frase de clave.
- Lo que no cubre esa capa. Los nombres de host, los usuarios, los grupos, las etiquetas y las huellas de los servidores de confianza se guardan en el almacenamiento privado de la app sin ese cifrado adicional.
- Claves vinculadas al dispositivo. La clave privada se genera dentro del Keystore de Android y no se puede exportar, copiar ni sincronizar. Solo la clave pública sale del teléfono, y no está en ninguna exportación ni copia de seguridad.
- Pantallas ocultas a las capturas. El formulario del host, el diálogo de identidad y el desafío de autenticación están marcados como seguros: Android bloquea las capturas y la grabación de pantalla mientras están abiertos.
- Servidores. Las conexiones van de tu teléfono directamente a tu servidor; no hay ningún servidor de PocketCode en medio. Un servidor desconocido siempre necesita tu decisión, y se rechaza la conexión si no se puede leer la huella o no respondes en 60 segundos. SSH lo gestiona la librería JSch (versión 0.2.18).
- Analítica. Si activaste Analíticas de Uso, la app registra que se intentó una conexión, su tipo de autenticación y cuánto tardó. Nunca incluye nombres de host, usuarios, contraseñas ni claves.
- Exportación y copia de Sync. El JSON exportado y la copia local contienen direcciones de host y usuarios y no están cifrados, salvo que fijes una contraseña maestra para la copia; ninguno contiene contraseñas ni claves.
- Conexiones en Cloud Sync. Solo con Cloud Sync activado y Conexiones (SSH/DB) marcada, el nombre, la dirección, el puerto, el usuario, el tipo de autenticación, las etiquetas, el favorito, el grupo, el proxy y el ajuste de reenvío de agente de un host viajan a tu cuenta de PocketCode; las contraseñas, las claves, las frases de paso y los comandos de inicio, nunca. La misma casilla también sincroniza las conexiones del módulo Base de Datos, solo con su nombre, host, puerto, motor y grupo.
- Webhooks. El enlace de un webhook contiene su secreto, así que mantenlo privado. Abrirlo nunca ejecuta nada sin tu confirmación.
- Chat de IA. Sus herramientas SSH solo actúan sobre hosts que hayas conectado en una pestaña, y por defecto piden aprobación antes.
- Sin bloqueo propio. El Terminal no tiene un PIN ni un bloqueo biométrico propios; se apoya en la pantalla de bloqueo de tu teléfono. Una clave vinculada al dispositivo puede exigir biometría o el PIN del dispositivo para firmar.
- VNC en texto plano. VNC conecta por TCP sin cifrar, fuera de SSH. Úsalo solo en redes de confianza.
Limitaciones
Lo que la parte SSH no puede hacer hoy, y por qué. Una línea marcada Pro es un límite del plan, Aún no significa que la función no está terminada, A propósito es una decisión deliberada y Dispositivo es un límite del teléfono o de Android.
- Abrir una conexión Telnet: la app contiene un cliente Telnet, pero nada lo abre (ni Conexión Rápida ni el formulario del host).Aún no
- Ver o controlar un escritorio remoto (VNC, RDP): la conexión funciona pero la pantalla no se dibuja y no hay entrada. RDP ejecuta el código VNC.Aún no
- Descargar, subir o editar archivos remotos desde las vistas SFTP, copiar arrastrando entre paneles o llenar la cola de transferencias. Solo Adjuntar archivo sube, y a
/tmp.Aún no - Usar la redirección Dinámico como proxy SOCKS5, o conservar las reglas de redirección cuando termina la sesión.Aún no
- Fijar desde el formulario un comando de inicio o redirecciones guardadas en un host, o dar a un grupo un proxy, una identidad o variables de entorno.Aún no
- Usar Conexión Rápida con una clave o un código de un solo uso: siempre crea un host con Contraseña.Aún no
- Obtener la clave pública de una clave privada importada, o listar y quitar las claves de host de confianza.Aún no
- Usar un gestor de paquetes distinto de
apt, o importar instancias cloud sin pegar JSON.Aún no - Enviar la copia de Sync y Equipos a la nube u otro dispositivo, recuperar hosts en otro dispositivo desde Cloud Sync, compartir hosts o snippets en una sala de equipo, cifrar una exportación o importar desde un fichero o un código QR.Aún no
- Llegar a Difundir y Shell Multiplexado desde el panel acoplado en una pantalla ancha: solo están en el menú de herramientas.A propósito
- Encadenar más de 3 hosts de salto.A propósito
- Elegir o inspeccionar los algoritmos de intercambio de claves, de cifrado o de clave de host: se usan los valores por defecto de la librería SSH y no hay ajuste. Esta página no afirma nada sobre intercambio de claves post-cuántico.A propósito
- Usar más de 1 host guardado, 1 sesión o 1 regla de redirección de puertos a la vez en Free; usar Difundir, Monitor Watchdog o Webhooks en Free.Pro
- Mantener las sesiones activas en segundo plano sin excluir a PocketCode de la optimización de batería.Dispositivo
- Usar las salas de equipo fuera de tu red local.Requiere red
Resolución de problemas
Error: No password stored for this host
El host usa Contraseña pero no hay ninguna guardada. Abre Hosts → Editar y escríbela en Autenticación. También ocurre tras Conexión Rápida sin contraseña, y con los hosts importados, que llegan sin credenciales.
Error: No private key stored for this host
El host usa Par de Claves pero no tiene clave. En Editar Host, elige una en Clave o elige Pegar manualmente y pégala. Los hosts importados de un SSH config con IdentityFile llegan así.
Error: Authentication failed
El servidor rechazó las credenciales; la pestaña también muestra [Connection failed: Authentication failed]. Comprueba el usuario, la contraseña o la clave y la frase de clave. Si el servidor pide un código de un solo uso, pon Método de Auth en Interactivo por Teclado. Con una clave vinculada al dispositivo que exige biometría o PIN, autentícate y vuelve a conectar enseguida: fuera de la ventana de 30 segundos la clave no firma nada y el servidor rechaza el intento.
Error: Connection timed out / Error: Connection refused
Nada respondió en 15 segundos, o el puerto está cerrado. Comprueba la dirección y el puerto (22 por defecto), que el teléfono tenga red y que el servicio SSH esté en marcha. Si el host usa Proxy / Jump Host, revísalo también.
Error: Unknown host key — trust the host and retry
Todavía no se ha confiado en la clave del servidor. Vuelve a conectar y, si la huella coincide, responde Verificar Clave del Host con Confiar y Conectar.
¡Clave del Host Cambiada!
La clave del servidor es distinta de aquella en la que confiaste: puede que se haya reinstalado o reconfigurado, o que alguien esté interceptando la conexión. Compara la Huella Digital con la Huella anterior y toca Confiar y Conectar solo si sabes por qué cambió.
[Security] Could not verify host key fingerprint — connection refused.
PocketCode no pudo leer la huella del servidor y se niega a continuar en vez de confiar en una clave desconocida. Vuelve a intentar la conexión.
[Network connection lost]
El dispositivo perdió la conexión y la sesión terminó. Con Reconexión automática del terminal activada (Configuración → Terminal) la pestaña reconecta sola cuando vuelve la red y escribe [Network restored — reconnecting…]. Si no, toca Reconectar en la barra de estado.
Jump host chain deeper than 3 hops
Una cadena de Host de salto puede tener como máximo 3 saltos; acórtala. Dos mensajes relacionados: la cadena se muerde la cola (cambia el Host de salto de uno de los hosts) y Jump host no longer exists (…) (el host de salto se borró; elige otro).
Terminal Pro
Llegaste a un límite de Free: una segunda sesión, un segundo host guardado con Agregar Host, Conexión Rápida, una importación o la importación de instancias cloud, una segunda regla de redirección de puertos, Difundir, Monitor Watchdog o Webhooks. Seguir con plan básico cierra el muro; Desbloquear Terminal Pro abre la pantalla de planes.
Este directorio está vacío (SFTP)
La carpeta está vacía, o no se pudo leer, por ejemplo por permisos: el explorador no muestra errores, así que una carpeta ilegible parece vacía.
[Error: file upload failed]
Adjuntar archivo no pudo subir el archivo a /tmp del servidor. Comprueba que la sesión sigue conectada y que /tmp admite escritura.
Un host o un snippet no se guardó (Conexión Rápida, importaciones)
En Free el plan guarda 1 host y 10 snippets propios (los 98 predefinidos no cuentan). Conexión Rápida abre la sesión pero no guarda el host; las importaciones y la importación de instancias cloud traen solo lo que cabe, y N elementos importados cuenta solo eso. Cada vez que algo se deja fuera se abre el muro de Terminal Pro. Elimina uno para hacer sitio, o desbloquea Terminal Pro.
USB permission not granted for … / No USB serial device found. Available: …
El primero significa que rechazaste el diálogo de permiso USB de Android, o no lo contestaste en 60 segundos; pulsa reproducir otra vez y concédelo. El segundo significa que ningún dispositivo USB conectado coincidió; el mensaje lista lo que ve Android.
VNC server only offers unsupported security types (…); refusing to connect.
PocketCode habla VNC solo sin autenticación o con contraseña VNC; los servidores que exigen TLS u otros tipos se rechazan. VNC authentication failed significa que se rechazó la contraseña. Aunque la conexión funcione, la pantalla remota no se dibuja.
No se encontraron paquetes
La lista queda vacía cuando el host no tiene ni pkg ni dpkg, o cuando la sesión no está conectada. Las acciones de paquetes sirven para hosts basados en Debian y corren como tu usuario SSH, sin sudo.
Mantén las sesiones SSH activas en segundo plano
Android puede pausar o cortar las sesiones SSH y las redirecciones de puertos al cambiar de app, salvo que PocketCode esté excluida de la optimización de batería. Abrir ajustes te lleva a la pantalla del sistema; Ahora no deja todo como está.
El botón Conectar de Conexión Rápida está apagado
Se enciende cuando el texto contiene una @. Escribe usuario@host, por ejemplo [email protected].
No se pudo importar el archivo de clave
El archivo estaba vacío o no se pudo leer. Elige el propio fichero de clave privada.
Siguiente