Mostly used by me for Hetzner cloud, but should work with all Public Cloud server providers.
- cloud-init.yml
- please ensure to set your user, group for the normal user you want to use
- ssh_import_id can be used with github usernames instead of ssh_authorized_keys
- disable_root: true ensures root can't ssh in
- optionally add a sshd extra config that will secure more; tweak TcpForwarding and PermitTunnel as your requiments are!