Tenía esta instalación
forum.example.com
Tenía mi cuenta de administrador admin@example.com con mi contraseña y 2FA
Finalmente decidí migrarlo a un nuevo dominio
community.newexample.com
Antes de hacerlo, creé una copia de seguridad de forum.example.com
Hoy decidí que quería crear una nueva comunidad en example.com
Instalé todo, creé la nueva cuenta de administrador (administrador 2), etc.
Inicié sesión.
Fui a la sección de copias de seguridad y subí la copia de seguridad que creé para forum.example.com
Me cerró la sesión.
Cuando intenté iniciar sesión con las nuevas credenciales para “administrador 2”, no me dejó, porque supongo que ahora está intentando usar las credenciales de la primera instalación.
El problema también es que ya no tengo el 2FA para forum.example.com, pero también lo está pidiendo.
¿Qué puedo hacer ahora?
ACTUALIZACIÓN: Pude hacerlo siguiendo las instrucciones de ChatGPT:
Paso 1: Accede a tu servidor por SSH
ssh tu-usuario@tu-servidor
Paso 2: Entra en el contenedor de la aplicación Discourse
cd /var/discourse
./launcher enter app
Paso 3: Crea o restablece la contraseña del usuario administrador
Este paso asegura que puedas iniciar sesión con una contraseña conocida.
rake admin:create
- Cuando se te solicite, introduce la dirección de correo electrónico del administrador de la copia de seguridad (por ejemplo,
admin@forum.example.com).
- Introduce una nueva contraseña.
- Escribe
Y cuando se te pregunte si deseas conceder privilegios de administrador (incluso si el usuario ya es administrador, no hará daño).
Paso 4: Abre la consola de Rails
rails c
Paso 5: Busca al usuario por correo electrónico
Reemplaza el correo electrónico con el que estás restableciendo:
user = User.find_by_email("admin@forum.example.com")
Deberías ver alguna salida que muestre el objeto del usuario.
Paso 6: Deshabilita la autenticación de dos factores (2FA) para ese usuario
user.user_second_factors.destroy_all
Esto elimina todas las claves de 2FA asociadas a ese usuario, sin afectar a nadie más.
Paso 7: Sal de la consola y del contenedor
exit
Paso 8: Inicia sesión a través de la web
Ve a tu sitio de Discourse en el navegador e inicia sesión con:
- Correo electrónico:
admin@forum.example.com
- Contraseña: la que estableciste en el Paso 3
- 2FA: ya no será requerida