Reset Ghost Password

If you didn't setup SMTP for Ghost and lost your password, you can configure an external SMTP to receive the Password reset email, or reset the password using MYSQL.

Setting up MailGun
MailGun a powerful service that you can setup as an alternative to setting up an SMTP service on your server it allows sending/receiving emails. We only need it to receive emails from Ghost to your preferred email to reset the password.

1- Register at MailGun https://www.mailgun.com/, setup a Subdomain for emails like "email.yourdomain.com" add the required DNS records as explained after adding a new subdomain in MailGun.
2- Add authorized contacts, the email(s) that will receive emails from Ghost including password rest emails.
3- Since Ghost built with MailGun support, replace Mail configurations in config.production.json file with

"mail": {
    "transport": "SMTP",
    "options": {
        "service": "Mailgun",
        "auth": {
            "user": "postmaster@Sub.Domain.com",
            "pass": "YourSMTPPassword"
        }
    }
},

just replace the user and password by the one created after adding the DNS.

Finally, restart Ghost Service, and it is done.

The second method is by replacing the password hash in MYSQL server with a known hash to change it after login, it is explained well in https://lengerrong.blogspot.com.eg/2017/10/reset-user-password-for-your-own-ghost.html
MailGun solution is better for long-term, easier than setting up a mail server, allow sending 10,000 messages per month for free (If needed for other uses).