I have a MacBook running macOS Mojave that had been sitting on a shelf for 6 weeks or so. It was completely dead when I initially opened it to log on again yesterday. Once it was charged, I was having trouble remembering the password to my account (the single administrator account no less). I hadn’t set a hint or written it down in 1Password. After a few failed attempts, macOS displayed a message saying I could restart in recovery mode to reset my password.
I was immediately thankful I would be able to use my Apple ID to reset my password! Once restarted in recovery mode, I entered my Apple ID and password but received an error message saying, “There was an error connecting to Apple ID server.” Doh! I forgot to connect to WiFi so I connected to my home network and received a (confirmation) notification from Eero that a new device had connected (awesome feature). I resubmitted my Apple ID credentials and… same error.
Searching on that error message surfaced mostly results about iOS device problems with a few hints at changing the time zone setting from manual to automatic. Those hints didn’t seem relevant or actionable so I started searching for other ways to reset my password that didn’t involve Apple ID servers. Luckily, I found Bypass and reset the password on any Mac in no time which included instructions on getting into actual Recovery Mode (⌘+r
). Up until now, macOS was taking care of launching me into the Reset Password utility because it knew I was failing to log in (I just needed to hold down the power button until it shut off and then press it again without any key combos).
Now that I was in actual Recovery Mode and had access to Terminal, I decided to verify my computer’s clock was in sync using date
. My computer still thought it was January 2nd instead of February 20th! StackExchange provided a few quick commands to get it in sync (no sudo
necessary thankfully since… you know… I didn’t know my password). I then ran a few ping
tests just to double triple check my WiFi was working. I launched resetpassword
with my clock synced and WiFi connected. Submitting my Apple ID credentials now worked! After a few 2FA prompts, I was able to set a new password (which I definitely wrote down in 1Password)!
Why did the Apple ID servers require my Mac’s time to be up to date? I assume to prevent replay attacks. Why was my MacBook’s time so out of date? I’m guessing the battery died on January 2nd, and because I couldn’t log in, nothing could run to update the time which is why I had to do it manually through Terminal in Recovery Mode. Could this have been a friendlier experience for the end user (me)? Absolutely! Any sort of hint in the error message would have been appreciated. Maybe the Reset Password utility could have tried to sync my clock and retry behind the scenes. Security is a fine balancing act.
In the end, my MacBook felt very secure, and I was able to regain access. Hopefully this helps someone down the line debug a little faster ❤️