Banana Studio
News · BS Manager

SSH Server 0.13.0: tu shell SSH ahora se queda en sus carpetas

SSH Server 0.13.0 hace que el shell SSH siga las mismas reglas que SFTP: el shell de cada usuario solo ve las carpetas que le asignas, las carpetas de solo lectura siguen siendo de solo lectura y los archivos ocultos siguen ocultos.

SSH Server 0.13.0: tu shell SSH ahora se queda en sus carpetas
On this page

SSH Server 0.13.0: tu shell SSH ahora se queda en sus carpetas

SSH Server 0.13.0 ya está disponible en Google Play para teléfonos, tabletas y Android TV. Esta versión cierra una brecha con la que algunos os encontrasteis: el shell SSH ahora sigue las mismas reglas que SFTP. El shell de cada usuario solo ve las carpetas que has configurado para él, y nada más.

Un recorrido de un minuto por las novedades de la 0.13.0.

Por qué importa

En SSH Server asignas a cada usuario una lista de carpetas. SFTP siempre ha respetado esa lista: un usuario al que solo se le dio Download veía Download y nada más.

El shell SSH no lo hacía. Cuando el mismo usuario abría una terminal con ssh, el shell arrancaba en la carpeta privada de la propia app y podía curiosear todo lo que la app podía alcanzar. Eso resultaba confuso («¿Por qué no encuentro mi carpeta Download en el shell?») y significaba que la lista de carpetas no era un límite real para quien usara el shell.

A partir de la 0.13.0, la lista de carpetas es el límite en todas partes.

Antes: el shell podía explorar todo lo que la app podía alcanzar. Ahora: solo las carpetas del usuario, Download (con escritura) y Photos (solo lectura)

Qué ve el shell ahora

El shell ve exactamente las carpetas que SFTP muestra a ese usuario:

  • Una carpeta: aparece como /. Si le das a un usuario /storage/emulated/0, entonces / en su shell es tu almacenamiento interno.
  • Varias carpetas: / las lista por su alias. Un usuario con Download y DCIM (mostrada como Photos) ve exactamente dos carpetas en /: Download y Photos.
  • Todo lo demás desaparece. El resto de tu almacenamiento, los datos de la propia app y los de otras apps simplemente no están ahí. Las rutas que llevarían fuera, incluidos .. y los trucos de Linux a través de /proc, se quedan dentro de las carpetas del usuario.

Tus herramientas de shell habituales siguen funcionando: ls, cd, cp, mv, find, cat, tuberías, scripts y tareas en segundo plano. Los archivos de sistema de Android siguen siendo legibles para que esos comandos puedan ejecutarse, igual que en cualquier shell de Android.

Aquí tienes una sesión real en SSH Server 0.13.0:

Una sesión SSH real: pwd muestra /, ls / muestra Download y Photos, escribir en Photos se rechaza, /storage/emulated/0 no existe

Las carpetas de solo lectura y los archivos ocultos también se aplican

Dos ajustes que ya conoces de SFTP ahora también funcionan en el shell:

  • Writable: si la casilla Writable de una carpeta está desmarcada, el shell puede abrirla, leerla y copiar archivos fuera de ella, pero no puede crear, cambiar, renombrar ni eliminar nada dentro. Verás Read-only file system, como en un disco de solo lectura.
  • Show hidden files: si está desactivado para un usuario, los archivos y carpetas cuyo nombre empieza por punto (.ssh, .cache, …) también se omiten en los listados del shell: ls -a, find, el autocompletado con tabulador. Como en SFTP, un archivo oculto todavía se puede abrir por su nombre exacto.

La pantalla Users: el usuario tiene Download (Writable marcado) y Photos (Writable desmarcado)

Cómo configurarlo

No hay nada nuevo que activar. El shell usa las carpetas que ya has definido para cada usuario:

  1. Abre SSH Server y toca Users.
  2. Toca el lápiz junto a un usuario.
  3. En Access path, toca Add new y elige una carpeta. Repite para cada carpeta que deba tener el usuario.
  4. Desmarca Writable en cualquier carpeta que deba ser de solo lectura.
  5. Toca ✓ para guardar. La próxima vez que ese usuario inicie sesión, su shell mostrará exactamente estas carpetas.

¿No quieres que un usuario tenga shell en absoluto? El interruptor Disable shell en la misma pantalla sigue desactivándolo.

Funciona en todas partes, sin root

El nuevo shell funciona sin root en todos los dispositivos que admite SSH Server: teléfonos, tabletas y Android TV, con procesadores ARM y x86 de 64 y 32 bits. Lo probamos desde Android 6 hasta Android 16.

En unos pocos dispositivos muy antiguos, sobre todo Android 6 y 7 con un kernel de sistema obsoleto, el sistema carece de una función que el shell necesita. Allí, SSH Server no recurre a un shell sin restricciones: la sesión muestra un breve mensaje de que el shell no puede iniciarse y luego se cierra. SFTP sigue funcionando con normalidad en esos dispositivos.

Dos correcciones

SFTP ya no cierra tu sesión por una ruta incorrecta. Si abrías una ruta fuera de tus carpetas, por ejemplo ls /storage/emulated/0, la conexión podía cerrarse con Connection closed. Ahora recibes un mensaje «not found» normal y sigues trabajando.

Antes: Connection closed. Ahora: «not found», y la sesión continúa

Users y SFTP Logs caben en la pantalla en Android 15 y posteriores. En las versiones más recientes de Android, el título y la flecha de retroceso de estas dos pantallas se deslizaban bajo la barra de estado. Ahora quedan debajo de ella.

En Android 15, el título de la pantalla Users se deslizaba bajo la barra de estado; ahora queda debajo

Preguntas

Mis archivos estaban antes en /storage/emulated/0. ¿Dónde están ahora? En las carpetas de tu usuario. Ejecuta ls / para verlos. Si le diste al usuario todo tu almacenamiento interno, es / en sí.

El shell dice que no está disponible o no puede iniciarse. ¿Qué puedo hacer? Comprueba que el usuario tenga al menos una carpeta en Access path y que SSH Server tenga permiso para acceder a tus archivos. Si ambas cosas están bien, tu dispositivo es uno de los pocos sin la función del kernel que el shell necesita; SFTP sigue funcionando.

¿Esto cambia SFTP? No. SFTP ya funcionaba así. Solo cambió el shell, además de la corrección de SFTP de arriba.

Descárgalo

SSH Server 0.13.0 se está distribuyendo en Google Play ahora:

Gracias a todos los que nos escribisteis sobre el shell y SFTP. ¡Seguid enviándonos vuestros comentarios!

Videos

SSH Server 0.13.0: novedades

Related posts