For username "foo":
$ adduser foo
$ passwd foo
$ sudo usermod -aG sudo foo
$ mkdir -p /home/foo/.ssh
$ cat the_public_key.pem >> /home/foo/.ssh/authorized_keys
$ chown -R foo:foo /home/foo/.ssh
$ chmod 700 /home/foo/.ssh
$ chmod 600 /home/foo/.ssh/authorized_keys
Disable default account:
$ usermod -s /usr/sbin/nologin default_username
Notes:
- Not useradd.
- Even when logging in with just SSH key, user must have a password. It will only be used for sudo commands.