Patching my lab’s vCenter Server Appliance this evening raised an issue whereby the root password had expired. Unable to login via root, I can still administer the appliance via a vCenter’s SSO domain account (firstname.lastname@example.org, for instance), however, attempts to perform any updates will not be possible until the appliance’s root account password is reset. This an easy exercise, however, this is not possible via vSphere UI or console, only bash.
Note, the below procedure is relevant to vCenter Server Appliance 6.5 and 6.7.
1. Firstly (and most importantly) ensure you’ve taken a snapshot of your vCenter Server Appliance.
2. Restart the vCenter Server Appliance.
3. Once the OS initiates, press the e key to enter the GNU GRUB Edit Menu.
rw init=/bin/bash to the line beginning with
8. Once the vCenter Server Appliance has restarted login via root and the new password. If you can login, the password reset procedure has been successful.
9. Finally, remove the snapshot taken in step 1.
Following the successful password reset, re-run any pre-update checks. These should now pass successfully.