Hey folks, I have multiple VMs and personal machines across multiple cloud providers and I’m beginning to get frustrated with ssh key management. Each personal machine has it’s own key so if I lose it or it’s compromised I can just remove the key from the vms but it’s starting to get tedious making sure everything is up to date and any new keys are added.
Are there any solutions out there that would help?
Have you considered creating Certificates for your keys? The basic idea is that you have a master CA key pair which you use to sign all your actual keys with (ideally both use and host keys). Than you only add a CA entry for the CA to the authorized_keys and known_hosts on every machine and now, whenever you add a user or host, you only need to sign its keys and everything else trusts it automatically. Add a CRL for key revocation to solve the lost-keys-problem and not you should have everything you wanted. All of this comes out of the box with OpenSSH, no extra tools required.
This sounds interesting will read up on it.