But I think there is actually a relatively safe way of having a password auth on login through os-server-password API in Nova:
Though, it would need a modification of all images, or supplying more metadata to them.
3. In Horizon local_settings add "OPENSTACK_ENABLE_PASSWORD_RETRIEVE = True"
What this flow will do:
1. A random password is being generated and set for user `clouduser`
2. A password is being encrypted with public part of SSH key, which you supplied for instance
3. Encrypted version of the password is sent back to the metadata
4. In horizon you can fetch the password from the metadata and decrypt it using your SSH private key
I'd suggest to additionally modify the script/image to expire the password after the first login, as well as to prohibit password auth via SSH.
But I can totally get why password auth might be valuable, especially in cases where instance get misconfigured and need to have a way to login via console.