Docs/ Seguridad/ Autenticación y 2FA

Autenticación y 2FA

Protege tu instancia de sh0 con inicio de sesión por contraseña u OAuth de Google, y agrega una capa adicional de protección con autenticación de dos factores.

Métodos de inicio de sesión

sh0 ofrece dos métodos de inicio de sesión para personas. Ambos abren la misma sesión del panel; los programas usan claves de API.

Autenticación por contraseña

El método predeterminado. No hay credenciales predeterminadas: la primera cuenta se crea en la pantalla de configuración de una instalación nueva, y cualquier otra cuenta la invita un administrador.

El intercambio de inicio de sesión, las cookies de sesión y el paso de dos factores se describen para desarrolladores en Autenticación de la API.

Página de inicio de sesión de sh0 con campos de correo electrónico y contraseña

OAuth de Google

Para usuarios de sh0 Cloud, el inicio de sesión con Google está disponible como método de autenticación. Esto usa el flujo OAuth 2.0 de Google con verificación de token de ID vía JWKS.

  1. Haz clic en Iniciar sesión con Google en la página de inicio de sesión.
  2. Autentícate con tu cuenta de Google.
  3. sh0 verifica el token de ID y crea o vincula tu cuenta.
Página de inicio de sesión con botón de inicio de sesión con Google
Note
Para instancias autoalojadas, OAuth de Google requiere configurar un proyecto de Google Cloud con credenciales OAuth. Ve a Configuración → Autenticación para ingresar tu Client ID y Client Secret.

Habilitar autenticación de dos factores

La autenticación de dos factores (2FA) agrega una capa adicional de seguridad al requerir una contraseña de un solo uso basada en tiempo (TOTP) además de tus credenciales habituales.

  1. Abra su página de Perfil en el panel.
  2. Haga clic en Activar 2FA.
  3. Escanea el código QR con una aplicación de autenticación (Google Authenticator, Authy, 1Password, etc.).
  4. Ingresa el código de 6 dígitos de tu aplicación de autenticación para verificar la configuración.
  5. Guarda tus códigos de respaldo en un lugar seguro.
Pantalla de configuración 2FA mostrando código QR y campo de verificación

Una vez habilitada, cada inicio de sesión requerirá el código TOTP de 6 dígitos después de ingresar tu correo electrónico y contraseña.

Warning
Si pierde a la vez su aplicación de autenticación y sus códigos de respaldo, recupere la cuenta desde el propio servidor, sin iniciar sesión. El comando restablece la contraseña, desactiva la autenticación de dos factores y revoca todas las sesiones abiertas:
Terminal (on the server)
sudo sh0 users reset-password [email protected] --disable-2fa
Output
Password reset for [email protected] (318a52d95557639444c765ea8de8b0f5)

Revoked 14 refresh token(s). Sessions already open are rejected on their next request -- they are not left alive until their access token expires.

Sin --password, se genera y muestra una contraseña temporal aleatoria. Inicie sesión con ella, elija una nueva contraseña y vuelva a activar la autenticación de dos factores.

Códigos de respaldo

Al activar la 2FA, sh0 genera 20 códigos de respaldo de un solo uso y solo guarda su hash. Cada código puede sustituir una vez al código de 6 dígitos si pierde el acceso a su aplicación de autenticación.

Danger
Almacena tus códigos de respaldo en un lugar seguro y sin conexión (administrador de contraseñas, papel impreso en una caja fuerte). Estos códigos son tu único método de recuperación si pierdes tu dispositivo autenticador. Se muestran solo una vez durante la configuración de 2FA.

Puede regenerar los códigos de respaldo desde su página de Perfil con Regenerar códigos de respaldo. Confirma con un código de 6 dígitos vigente, y todos los códigos anteriores dejan de funcionar.

Cambiar tu contraseña

Para cambiar tu contraseña:

  1. Abra su página de Perfil.
  2. Vaya a la sección Contraseña.
  3. Ingresa tu contraseña actual y la nueva contraseña.
  4. Confirme la nueva contraseña y guarde.
Formulario de cambio de contraseña en la configuración del perfil

Las contraseñas se hashean con Argon2id antes de almacenarse. sh0 exige una longitud mínima de contraseña de 8 caracteres.

Tip
Cambiar la contraseña cierra de inmediato todas las demás sesiones: quien tuviera su contraseña anterior pierde el acceso al instante.

Gestión de sesiones

Una sesión del panel dura 24 horas y se renueva mientras siga usando el panel; una sesión sin usar durante 30 días termina. No hay una lista de sesiones que gestionar: para cerrar todas las sesiones de una cuenta, cambie su contraseña o ejecute en el servidor el comando de recuperación anterior.