Configuración básica de Ubuntu Server para servicios web

Accediendo con clave SSH

SSH proporciona distintos tipos de autenticación, incluyendo contraseña y autenticación basada en claves. La autenticación basada en claves es un método muy seguro porque utiliza claves criptográficas para establecer una conexión de confianza entre el servidor y el cliente.

Para usarla hay que generar un par de claves SSH que consisten en una clave pública y otra privada. La clave pública se guarda en el servidor, mientras que la privada se guarda en el ordenador cliente. Cuando te conectas mediante SSH se establece una conexión de confianza entre el servidor y el ordenador usando el par de claves. Si alguna de las claves falta o no concuerda con la otra no se podrá establecer conexión.

Si nunca habéis generado una clave tendréis que hacerlo desde una terminal de Git Bash en vuestro ordenador cliente:

ssh-keygen -o

Una vez completado el proceso podemos acceder al directorio donde se almacenan las claves SSH del usuario haciendo:

cd ~/.ssh
ls

Aquí podemos mostrar por pantalla la clave pública con:

cat id_rsa.pub

La tendréis que seleccionar y copiar al portapapeles.

A continuación accederemos de nuevo al servidor, nos identificaremos con la contraseña:

ssh usuario@WW.XX.YY.ZZ

Y añadiremos la clave pública al directorio .ssh de nuestro usuario, si no existe tendremos que crearlo antes:

mkdir .ssh
nano .ssh/id_rsa.pub

Ahora añadiremos la clave pública al fichero .ssh/authorized_keys para autorizarla como clave de confianza:

cd .ssh
cat id_rsa.pub >> authorized_keys

Finalmente reiniciaremos el servicio ssh:

sudo service ssh restart

Si salimos de la sesión y nos conectamos de nuevo al servidor ya no debería volver a pedirnos la contraseña:

ssh usuario@WW.XX.YY.ZZ