Skip to content

Instantly share code, notes, and snippets.

@aduartem
Last active May 21, 2022 19:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aduartem/4a80662d0d01ebe7b5d5718ec3ce672e to your computer and use it in GitHub Desktop.
Save aduartem/4a80662d0d01ebe7b5d5718ec3ce672e to your computer and use it in GitHub Desktop.
Configuración inicial del servidor con Ubuntu 18.04 en DigitalOcean

Configuración inicial del servidor con Ubuntu 18.04 en DigitalOcean

El droplet se debe crear con la opción de autenticar usuario root con llave ssh.

Paso 1 - Iniciar sesión como usuario root

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.

Paso 2 - Crear un nuevo usuario

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.

Paso 3 - Dar privilegios de super usuario (root) al nuevo usuario creado

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#

Paso 4 - Agregar llave pública de autenticación

Generar un par de llaves ssh en nuestro cliente

$ ssh-keygen

MAC OS: /Users/localuser/.ssh Linux: /home/localuser/.ssh

Copiar la llave pública

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

Paso 5 - Configurar SSH Daemon

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

Paso 6 - Reiniciar servicio SSH

$ service ssh restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment