Solución de la comunidad

Cómo iniciar sesión en la terminal web y SSH de CasaOS

A CasaOS discussion showing that the dashboard administrator and Linux SSH accounts can differ, with the original author succeeding after installing OpenSSH Server and setting a Linux user password.

La interfaz web de CasaOS tiene su propio inicio de sesión de administrador, pero las funciones integradas de Registro y Terminal se conectan al sistema operativo mediante SSH. Esta distinción explica el problema original de la comunidad: introducir el nombre y la contraseña del administrador de la interfaz web de CasaOS no necesariamente autenticaba una cuenta del sistema Ubuntu, Debian o Raspberry Pi.

Las respuestas de 2024 sugirieron primero la casaos nombre de usuario y contraseña en el puerto SSH 22. Eso funcionó para la instalación del dispositivo de uno de los participantes, pero no para la instalación de CasaOS del autor original en un portátil. El autor finalmente lo consiguió solo después de instalar openssh-server, establecer una contraseña para un usuario real de Linux e introducir ese nombre de usuario y contraseña en el cuadro de diálogo de la terminal de CasaOS.

Las credenciales de la interfaz web de CasaOS y las credenciales de Linux son diferentes

Gumball había creado un perfil de administrador para iniciar sesión en CasaOS. Esa cuenta funcionaba para la interfaz del navegador, pero fallaba en el cuadro de diálogo de la terminal en el puerto 22. Otro participante informó de la misma separación: las credenciales de administrador abrían el panel de CasaOS, mientras que SSH utilizaba una cuenta del sistema operativo.

Esto significa que los campos de la terminal deben entenderse como campos de autenticación SSH:

  • Nombre de usuario: una cuenta de Linux autorizada a iniciar sesión mediante SSH.
  • Contraseña: la contraseña de esa cuenta de Linux, si la autenticación mediante contraseña está habilitada.
  • Puerto: normalmente 22, a menos que el servidor SSH esté configurado para escuchar en otro puerto.

CasaOS puede instalarse en distintas distribuciones de Linux y hardware, por lo que no es seguro suponer de forma universal que todas las instalaciones actuales sigan proporcionando una cuenta funcional casaos/casaos. Los usuarios que comparen las dos opciones de sistema operativo de IceWhale pueden consultar CasaOS frente a ZimaOS.

La respuesta histórica de casaos/casaos

M3nhir respondió que una instalación sin modificar del dispositivo podía usar el nombre de usuario casaos, la contraseña casaos, y el puerto SSH 22. Para el acceso desde la red local, el ejemplo era:

ssh casaos@SERVER_LAN_IP

La respuesta mencionaba una instalación de ZimaBlade. Cuando aparece una referencia heredada a ZimaBlade en el contenido actual de la tienda, la ruta de producto correspondiente es el servidor de placa única ZimaBlade actual. Sin embargo, el autor original usaba un portátil en lugar de hardware Zima.

Las contraseñas SSH predeterminadas representan un riesgo de seguridad. Incluso si casaos/casaos funciona en una imagen antigua; cámbiala de inmediato y no expongas directamente el puerto 22 a Internet pública.

Por qué falló el inicio de sesión de administrador de CasaOS en la terminal

La cuenta de administrador de CasaOS pertenece al sistema de usuarios de la aplicación web. SSH autentica a los usuarios conocidos por el sistema operativo anfitrión y sigue la configuración de autenticación del demonio SSH. Que el mismo texto coincida en ambos formularios de inicio de sesión no hace que las cuentas sean idénticas automáticamente.

El hilo también contiene informes posteriores en los que el terminal funcionaba en una Raspberry Pi, pero fallaba en Ubuntu y Hyper-V. Esas respuestas muestran que el resultado depende de la distribución base, de que haya un servidor SSH instalado y en ejecución, y de que se permita el inicio de sesión mediante contraseña.

La solución confirmada por el autor original

Gumball finalmente informó que lo había solucionado después de instalar OpenSSH Server y establecer una contraseña. En Ubuntu o Debian, la guía oficial de Ubuntu sobre OpenSSH Server utiliza:

sudo apt update
sudo apt install openssh-server

Después de la instalación, verifica que el servicio esté habilitado y en ejecución:

sudo systemctl enable --now ssh
sudo systemctl status ssh

Establece o cambia la contraseña de la cuenta de Linux que se utilizará en el terminal:

sudo passwd YOUR_LINUX_USERNAME

En el cuadro de diálogo Registro y terminal de CasaOS, el autor dijo que había que introducir el nombre de usuario de Linux propiamente dicho, en lugar de una cadena como username@192.168.x.xy después introduce la contraseña configurada para ese usuario. Para un cliente SSH independiente en otro dispositivo de la LAN, el formato normal sigue siendo:

ssh YOUR_LINUX_USERNAME@SERVER_LAN_IP

La wiki de CasaOS también describe el entorno de línea de comandos como accesible mediante SSH, el terminal del panel de control o un teclado y una pantalla conectados, en su ejemplo de acceso mediante línea de comandos.

La autenticación mediante contraseña también puede bloquear el terminal web

Instalar el paquete no es suficiente si el servidor solo acepta claves SSH. Los informes del proyecto CasaOS han documentado casos en los que el terminal web esperaba autenticación mediante nombre de usuario y contraseña y no funcionaba con un servidor SSH configurado para aceptar únicamente claves.

Antes de cambiar la configuración de autenticación, prueba primero desde un terminal normal de la LAN. Si SSH funciona con el mismo nombre de usuario y contraseña, pero el terminal de CasaOS no, es más probable que el problema esté en la integración del terminal de CasaOS. Si SSH también falla, revisa el estado del servicio SSH y los registros de autenticación.

No debilites un servidor expuesto a Internet simplemente para que el terminal web acepte una contraseña. Cuando sea posible, prefiere el acceso solo desde la LAN, una VPN de confianza o SSH mediante claves desde un cliente normal.

Corrección importante: DenyUsers casaos bloquea a ese usuario

Una respuesta posterior incluyó un video y dijo que añadía esta línea a /etc/ssh/sshd_config:

DenyUsers casaos

Esa directiva no habilita la cuenta casaos. El manual oficial de OpenSSH sobre sshd_config establece que los nombres de usuario que coincidan con DenyUsers no pueden iniciar sesión. Por lo tanto, añadir esa línea bloquearía el inicio de sesión SSH de casaos.

El video se conserva a continuación porque formaba parte del debate de la comunidad, pero la cita DenyUsers casaos la instrucción no debe copiarse como solución de inicio de sesión.

Si DenyUsers casaos ya existe y la intención es permitir esa cuenta, elimina o comenta la regla correspondiente, valida la configuración y solo después reinicia SSH:

sudo sshd -t
sudo systemctl restart ssh

No reinicies después de probar una configuración no válida; una configuración SSH defectuosa puede bloquear el acceso de un administrador remoto.

Lista de comprobación para iniciar sesión en la terminal de CasaOS

  1. Identifica el nombre de usuario Linux en el host; no des por sentado que el administrador de la WebUI de CasaOS es la misma cuenta.
  2. Instala openssh-server si el sistema operativo base no lo proporciona ya.
  3. Confirma que el servicio SSH esté en ejecución y escuchando en el puerto esperado, normalmente el 22.
  4. Establece una contraseña segura para el usuario Linux seleccionado si la terminal web de CasaOS requiere autenticación mediante contraseña.
  5. Prueba ssh username@server-ip desde otro dispositivo de la LAN.
  6. En el cuadro de diálogo de la terminal de CasaOS, introduce únicamente el nombre de usuario, su contraseña y el puerto SSH configurado.
  7. Comprueba AllowUsers, DenyUsers, la configuración de autenticación mediante contraseña y las reglas del firewall si el inicio de sesión sigue fallando.
  8. Mantén SSH restringido a la red LAN o a una capa segura de acceso remoto.

Preguntas frecuentes sobre el inicio de sesión en la terminal de CasaOS

¿Qué puerto utiliza la terminal de CasaOS?

Las respuestas de la comunidad usaban el puerto SSH 22. Un puerto SSH personalizado debe coincidir con el puerto en el que realmente escucha el servidor SSH del host, y las implementaciones antiguas de la terminal de CasaOS pueden tener limitaciones con los puertos no predeterminados.

¿Debo introducir mi cuenta de administrador de la WebUI de CasaOS?

No necesariamente. La cuenta de la WebUI y la cuenta SSH de Linux son independientes en el caso descrito en el hilo. Usa un nombre de usuario Linux válido y su método de autenticación SSH.

¿casaos/casaos sigue siendo el inicio de sesión predeterminado?

Se informó en una instalación antigua del dispositivo, pero no funcionó en la instalación del portátil del autor original. No lo consideres una credencial universal vigente y cambia cualquier contraseña predeterminada que aún funcione.

¿Por qué instalar openssh-server resolvió el caso original?

La terminal web de CasaOS depende de un servidor SSH en el sistema operativo subyacente. Sin un demonio SSH en ejecución que acepte las credenciales del usuario seleccionado, la terminal no puede establecer su sesión.

¿DenyUsers casaos habilita el acceso a la terminal?

No. Niega explícitamente el acceso SSH a casaos usuario. La respuesta posterior que lo presentó como parte de una solución contradice el manual de OpenSSH.