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_ADDRESSDonde 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 demoEl 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 sudoNota:
Para cambiar de usuario al nuevo usuario
$ su demoPara volver al usuario root:
demo@ubuntu-s-1vcpu-1gb-sfo2-01:/root/.ssh$ exit
exit
root@ubuntu-s-1vcpu-1gb-sfo2-01:~/.ssh#$ ssh-keygenMAC OS: /Users/localuser/.ssh Linux: /home/localuser/.ssh
Para ver el contenido de la llave pública ejecutar:
$ cat ~/.ssh/id_rsa.pubCopiamos 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 demoCambiamos de directorio a la carpeta del usuario y creamos una carpeta oculta llamada ssh con permisos 700:
$ cd ~
$ mkdir .ssh
$ chmod 700 .sshAhora abrimos un archivo en .ssh llamado authorized_keys con un editor de texto:
$ vim .ssh/authorized_keysPegamos la llave y guardamos el archivo.
Ahora cambiamos los permisos del archivo authorized_keys:
$ chmod 600 .ssh/authorized_keys$ exitAhora 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_configNecesitamos encontrar la siguiente línea:
PermitRootLogin yesY cambiar el valor "yes" por "no", quedando de la siguiente forma:
PermitRootLogin no$ service ssh restart