Seleccionar p谩gina

Las contrase帽as son un m茅todo de autentificaci贸n de control de acceso, utilizado en la gran mayor铆a de sitios web y otro tipo de software. Con el paso de los a帽os queda demostrado que las contrase帽as no son lo suficientemente seguras, y aqu铆 entran las claves SSH.

El acceso SSH a un servidor es muy importante, es el principal acceso a un servidor y por el cual acceden la gran mayor铆a de administradores a sus servidores, es por eso que es muy importante securizar su acceso. Para avanzar con este post es importante haber le铆do ya el primer post que explicaba los pasos iniciales en Ubuntu Server 20.04.

馃摑 Creaci贸n de las claves

Para crear las claves, lo realizaremos a trav茅s del sistema operativo Linux, es realmente sencillo crear el par de claves. Desde un terminal ejecutamos el siguiente comando.

ssh-keygen

Se crear谩 un par de claves RSA, una vez introducido el comando veremos lo siguiente.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/gfranco/.ssh/id_rsa):

Podemos elegir la ruta donde queramos el par de claves, por defecto las dejamos dentro del directorio oculto llamado .ssh, cambiar la ruta puede servir para generar m谩s de un s贸lo par de claves en tu mismo dispositivo.

A continuaci贸n nos pedir谩 una contrase帽a, lo cu谩l es muy recomendable pero no necesario. La contrase帽a dentro de la clave nos proporciona mucha m谩s seguridad para el acceso al servidor.

Your identification has been saved in /home/gfranco/.ssh/id_rsa
Your public key has been saved in /home/gfranco/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:AHg8LOxnWjL81sSVux0YWy52rrQRcfmQVkC0GzxGMaw gfranco@nebula
The key's randomart image is:
+---[RSA 3072]----+
| . +.    =B*.    |
|  + =.  =oOo     |
| o o o.. %*o     |
|  = + o.E.++.    |
|   O o .SB..     |
|  . o . + o      |
|   .   . +       |
|        o        |
|                 |
+----[SHA256]-----+

Y ya tendremos nuestra clave p煤blica y privada para realizar autenticaci贸n en servidores a trav茅s de SSH. Una vez conseguida la clave podemos proceder a subirla a nuestro servidor.

馃摛 Subida de clave al servidor

Para realizar la subida al servidor puedes hacerlo de varias maneras, puedes utilizar la instrucci贸n ssh-copy-id que es la manera m谩s sencilla de hacerlo. Para hacerlo debes tener ya creado tu propio usuario en la m谩quina remota y habilitado el acceso mediante contrase帽a, y en la cuenta a la que inicies sesi贸n se copiar谩 la clave de SSH p煤blica.

El comando deber谩 tener el siguiente resultado, siendo gfranco tu usuario del servidor y nebula.cat la direcci贸n de tu servidor.

ssh-copy-id gfranco@nebula.cat

En el caso de que tengas m谩s de un solo par de claves puedes especificar la clave que quieres utilizar con el par谩metro -i.

ssh-copy-id -i ~/.ssh/nebula gfranco@nebula.cat

馃敀 Securizar el acceso a s贸lo claves

Una buena medida de seguridad es permitir 煤nicamente el acceso al servidor a trav茅s de claves SSH, una vez subida tu clave al servidor y funcionando correctamente lo 煤nico que tendremos que hacer es desactivar el acceso a trav茅s de contrase帽a y activar el acceso a trav茅s de claves SSH.

Deberemos modificar el fichero de configuraci贸n SSH que es el /etc/ssh/sshd_config:

...
PubkeyAuthentication yes
...
PasswordAuthentication no
...

Y reiniciamos el servicio SSH con el siguiente comando:

sudo systemctl restart ssh.service

O con el comando:

sudo systemctl restart sshd.service