Como ingeniero nómada digital—o el “cuidador” de cientos de ordenadores de la empresa—conectarse a un servidor desde varios dispositivos cliente para su configuración es una tarea rutinaria. Algunos ingenieros llevan su propio portátil con el software y las herramientas que usan habitualmente para evitar restricciones al utilizar ordenadores de compañeros o compartidos.
Sin embargo, conectarse a un QNAP NAS es mucho más sencillo. Dado que el NAS utiliza una interfaz gráfica basada en navegador para la gestión por defecto, cualquier ordenador o dispositivo móvil capaz de ejecutar un navegador web puede acceder al NAS para realizar operaciones remotas.

El terminal: donde los ingenieros encuentran su romance
¿Y si necesita acceder a la línea de comandos o al modo terminal? Los sistemas operativos Windows, macOS y Linux suelen incluir un cliente SSH nativo integrado, por lo que normalmente no supone un gran problema.
Sin embargo, iniciar una conexión SSH en un ordenador desconocido sigue presentando varias molestias inherentes, como:
1. Los sistemas operativos antiguos y los dispositivos móviles no son compatibles
Las versiones antiguas de sistemas operativos, especialmente las lanzadas antes de 2018, así como los dispositivos Android y iOS, requieren aplicaciones de terceros para funcionar como clientes SSH. En muchos entornos sensibles a la seguridad o fábricas, todavía se utilizan sistemas operativos antiguos.
2. Seguridad
Las conexiones SSH en sí mismas son seguras. Sin embargo, las credenciales introducidas antes de establecer la conexión pueden estar sujetas a monitorización local o keylogging. La interfaz gráfica de gestión del QNAP NAS proporciona autenticación de doble factor en el inicio de sesión, mientras que SSH no incluye esta función por defecto.
Además, al acceder al NAS desde una red externa, puede que no sea posible conectarse a través del puerto correspondiente. Por ejemplo, si el NAS solo expone externamente la interfaz web QTS en el puerto 8080, las conexiones SSH no podrán pasar.
3. Persistencia de la sesión
Por defecto, las tareas ejecutadas en un servidor mediante una conexión SSH se terminan una vez que se pierde la conexión. Si la tarea implica descargar archivos grandes o realizar procesos que requieren mucho tiempo, no es práctico permanecer indefinidamente en el ordenador cliente o mantener la sesión abierta en un ordenador público.
¿Cómo se pueden resolver los problemas anteriores? Nuestros objetivos son los siguientes:
1. Acceder al modo terminal a través de un navegador web
2. La sesión sigue ejecutándose independientemente de las desconexiones del cliente.
Primero, asegúrese de que la tarea no se interrumpa
Mantener la sesión es relativamente fácil de solucionar. QTS en sí no presenta problemas relacionados con la sesión; la clave está en la interfaz de terminal. Esto se puede lograr utilizando herramientas de multiplexación de terminal como screen o herramientas de terceros como Tmux. El modo terminal en QNAP NAS no elimina screen, lo que lo convierte en la forma más sencilla y cómoda de mantener la sesión.

Usar screen es muy sencillo. Simplemente escriba “screen” en el terminal para crear una nueva sesión. El indicador de comandos no cambiará; por ejemplo, si originalmente era [user1@TS-464 ~]$, el shell dentro de la sesión de screen aparecerá exactamente igual.
En este punto, incluso si la sesión creada con screen sigue en ejecución, no se verá afectada si se pierde la conexión SSH.
La próxima vez que establezca una conexión SSH, simplemente utilice “screen -r” para volver a adjuntarse a la sesión existente. Screen le permite crear varias sesiones. Use “screen -list” para ver los pID de las sesiones y luego use -r pID para volver a adjuntarse a la sesión correspondiente.
El siguiente paso es abordar el segundo problema: acceder al modo terminal de QNAP NAS a través de un navegador web. QTS no ofrece esta funcionalidad de forma nativa. El enfoque más sencillo es ejecutar una aplicación Docker mediante Container Station con funcionalidad de ssh-client. A continuación, puede abrir la interfaz de terminal del contenedor directamente desde la interfaz web de QTS.
La forma más rápida de crear una aplicación Docker es utilizar una imagen Docker existente. Aunque lo que necesitamos es un ssh-client y no un servicio ssh-server, podemos instalar directamente el openssh-server disponible en Docker Hub, ya que también incluye la funcionalidad de cliente. La página oficial proporciona un archivo de configuración YAML, lo que facilita el despliegue.

Ejemplo oficial de YAML para referencia:
services:
openssh-server:
image: lscr.io/linuxserver/openssh-server:latest
container_name: openssh-server
hostname: openssh-server #optional
environment:
– PUID=1000
– PGID=1000
– TZ=Etc/UTC
– PUBLIC_KEY=yourpublickey #optional
– PUBLIC_KEY_FILE=/path/to/file #optional
– PUBLIC_KEY_DIR=/path/to/directory/containing/only/pubkeys #optional
– PUBLIC_KEY_URL=https://github.com/username.keys #optional
– SUDO_ACCESS=false #optional
– PASSWORD_ACCESS=false #optional
– USER_PASSWORD=password #optional
– USER_PASSWORD_FILE=/path/to/file #optional
– USER_NAME=linuxserver.io #optional
– LOG_STDOUT= #optional
volumes:
– /path/to/openssh-server/config:/config
ports:
– 2222:2222
restart: unless-stopped

Una vez creado, haz clic en “Ejecutar” en la interfaz de Container Station:

A continuación, se puede utilizar la interfaz de terminal para acceder por SSH al sistema host de NAS:

Habilitar la autenticación de doble factor para el Seguridad añadido
Si no existen restricciones de firewall, se puede acceder al contenedor directamente a través de su URL. Sin embargo, como se enfatizó al principio de este artículo, siempre se debe tener en cuenta la Seguridad. Por lo tanto, iniciar Container Station desde la interfaz web de QTS es un enfoque más seguro.
Entonces, ¿cómo se pueden proteger las contraseñas de los keyloggers? Siempre es necesario extremar la precaución al usar un ordenador desconocido. Aparte de habilitar un teclado en pantalla e introducir las credenciales con el ratón, actualmente no existe una forma eficaz de evitar que los keyloggers capturen las credenciales. Las contramedidas prácticas son habilitar la autenticación de doble factor y cambiar las contraseñas con regularidad.

QTS ofrece autenticación de doble factor y autenticación basada en autenticador para mejorar la Seguridad de inicio de sesión. Sin embargo, la autenticación mediante clave SSH no es aplicable en este caso.
Esta puerta de enlace basada en navegador creada mediante Container Station, combinada con la persistencia de sesión de Screen, demuestra que la Seguridad, la comodidad y la continuidad pueden equilibrarse eficazmente. Con esta configuración combinada, ya no es necesario depender de un software cliente específico ni preocuparse por perder el progreso debido a desconexiones de red. La próxima vez que estés de guardia y debas responder a un incidente, incluso sin tu portátil habitual, podrás seguir siendo productivo, siempre que tengas acceso a un navegador web.
Reeditado con Permiso de CyberQ