Si has llegado aquí, seguramente estés buscando ayuda porque tu frustración ha llegado a un límite. Tranquilo/a, estás en buenas manos.
A veces puede ser muy frustrante cuando nos olvidamos de la contraseña de accedo de Ghost y Ghost no puede enviar un correo electrónico para la recuperación. Ya sea porque la configuración de correo no es correcta o bien porque estás trabajando en local y no has configurado esta parte.
En este tutorial, vamos a ver cómo restablecer la contraseña de administrador de Ghost si no puede recibir un correo electrónico de recuperación.
Crear la contraseña cifrada
Ghost no almacena las contraseñas en formato texto. Todas las contraseñas se cifran utilizando el algoritmo BCrypt. Por lo tanto, no podemos cambiar la contraseña simplemente actualizando el valor de la columna de la contraseña en la tabla de la base de datos.
Afortunadamente, tenemos un montón de generadores de hash de contraseñas BCrypt gratuitos en Internet. Uno de ellos es BCrypt.online, pero si buscas por Internet podrás encontrar muchos más.
Genera la contraseña en local
Nuestra recomendación es utilizar nuestra terminal en local para generar el hash de la contraseña en BCrypt. Para ello necesitaremos tener instalado el paquete apache2-utils
en nuestro ordenador o servidor.
apt install apache2-utils
Con esto podremos generar nuestra contraseña de la siguiente forma:
$ htpasswd -bnBC 10 "" nuestra_super_contraseña | tr -d ':\n'
$2y$10$SbHq2EvNRtcLSic88bRlFe.2lWbhyoReKVgcnsapz8Y7raGmbTkhC
- -b toma la contraseña del segundo argumento del comando
- -n imprime el hash en stdout en lugar de escribirlo en un archivo
- -B ordena usar bcrypt
- -C 10 establece el coste de bcrypt en 10
Reiniciar contraseña de Ghost en producción utilizando MySQL
Desde la última versión de Ghost 5.x nos recomienda encarecidamente utilizar MySQL 8.x. Así que si tienes un Ghost actualizado a la última versión lo más seguro es que tengas MySQL y debas de seguir estos pasos.
- Inicia sesión a tu servidor utilizando SSH.
- Conectate a MySQL utilizando el usuario configurado para Ghost. Deberás de utilizar
mysql -u usuario -p
. Recuerda que deberás de modificar el nombre de usuario. - Una vez tenemos acceso a MySQL, ejecutaremos el siguiente comando para actualizar la base de datos:
UPDATE nombre_base_datos.users SET password='COPIA_HASH_AQUI' WHERE email='TU_CORREO_ELECTRONICO';
Ten en cuenta que tienes que poner el hash creado anteriormente donde pone COPIA_HASH_AQUI y el e-mail de acceso en TU_CORREO_ELECTRONICO. - Inicia sesión a Ghost.
Reiniciar contraseña en Ghost en Local
Si por lo contrario necesitas reiniciar la contraseña de una instalación local, deberás de realizar un proceso similar al anterior, pero esta vez para SQLite.
- Accede desde la Terminal al path donde se encuentra la instalación local de tu Ghost. Entra dentro de
content/data/
. - Ejecuta
sqlite3 ghost.db
. - Una vez tenemos acceso a SQLite, ejecutaremos el siguiente comando para actualizar la base de datos:
UPDATE users SET password='COPIA_HASH_AQUI' WHERE email = 'TU_CORREO_ELECTRONICO'
Ten en cuenta que tienes que poner el hash creado anteriormente donde pone COPIA_HASH_AQUI y el e-mail de acceso en TU_CORREO_ELECTRONICO. - Para salir de SQLite escribe
.exit
. - Inicia sesión a Ghost.
Conclusión
Con estos sencillos pasos ya sabremos modificar la contraseña de Ghost para otras ocasiones.
Comentarios