El droplet se debe crear con la opción de autenticar usuario root con llave ssh.
Para iniciar sesión por ssh ingresar el siguiente comando:
$ ssh root@SERVER_IP_ADDRESS
Donde SERVER_IP_ADDRESS es la ip pública de la máquina. Está ip se puede agregar a la tabla de hosts del equipo para asociarlo a un host fácil de recordar.
En este ejemplo crearemos un nuevo usuario llamado "demo", pero tu debes reemplazar este nombre por el nombre de usuario que quieras.
$ adduser demo
El sistema nos pedira ingresar una nueva clave para el usuario. Ingresamos la nueva clave y el sistema nos pedira otros datos que son opcionales, podemos ingresar enter hasta que ya no nos pida más datos.
Para otorgar privilegios de super usuario ejecutar el siguiente comando:
$ gpasswd -a demo sudo
Nota:
Para cambiar de usuario al nuevo usuario
$ su demo
Para volver al usuario root:
demo@ubuntu-s-1vcpu-1gb-sfo2-01:/root/.ssh$ exit
exit
root@ubuntu-s-1vcpu-1gb-sfo2-01:~/.ssh#
$ ssh-keygen
MAC OS: /Users/localuser/.ssh Linux: /home/localuser/.ssh
Para ver el contenido de la llave pública ejecutar:
$ cat ~/.ssh/id_rsa.pub
Copiamos el contenido.
En la máquina servidor, iniciamos sesión con el usuario root y nos cambiamos al nuevo usuario.
$ ssh root@SERVER_IP_ADDRESS
$ su demo
Cambiamos de directorio a la carpeta del usuario y creamos una carpeta oculta llamada ssh con permisos 700:
$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
Ahora abrimos un archivo en .ssh llamado authorized_keys con un editor de texto:
$ vim .ssh/authorized_keys
Pegamos la llave y guardamos el archivo.
Ahora cambiamos los permisos del archivo authorized_keys:
$ chmod 600 .ssh/authorized_keys
$ exit
Ahora que tenemos nuestra nueva cuenta, podemos proteger nuestro servidor un poco modificando su configuración de daemon SSH (el programa que nos permite iniciar sesión de forma remota) para no permitir el acceso remoto de SSH a la cuenta raíz.
Como usuario root, abrimos el archivo /etc/ssh/sshd_config utilizando un editor de texto:
$ vim /etc/ssh/sshd_config
Necesitamos encontrar la siguiente línea:
PermitRootLogin yes
Y cambiar el valor "yes" por "no", quedando de la siguiente forma:
PermitRootLogin no
$ service ssh restart