So after a week of seemingly making zero progress, I've finally set up a directory server that hosts public keys and manages who is allowed to log in to what server. Phew!