Durante la gestión de un servidor es importante mantener una seguridad y la mejor forma de evitar que descubran la contraseña de acceso es no tener contraseña. El servicio SSH permite identificar el cliente con el que se accede usando un par de claves criptográficas.

Primero debemos crear desde el cliente las claves que usaremos, ssh nos ofrece una herramienta justo para eso.

~$ ssh-keygen -t rsa -b 2048 -f nombre

Se nos creará la clave privada «nombre» y la clave pública «nombre.pub» de encriptación RSA y tamaño 2048 (no es recomendable usar un tamaño menor).

La clave privada nos identificará en el servidor y la clave pública le indicará al servidor que realmente somos nosotros. Para añadir a nuestra identificación SSH la clave privada ejecutamos el siguiente comando:

~$ ssh-add nombre

Y ahora toca añadir a los servidores que queramos la clave.

~$ ssh-copy-id -i nombre [email protected]

Nos pedirá la contraseña de acceso al servidor y se copiará.

Ahora bien, podemos eliminar la posibilidad de iniciar sesión con contraseña, de forma que solo los [email protected] que hayan seguido este procedimiento y el servidor tenga su clave pública podrán conectarse. Para hacer esto debemos editar el fichero de configuración del servicio ssh.

~$ sudo nano /etc/ssh/sshd_config

Y debemos añadir la siguiente línea

PasswordAuthentication no

Recargamos el servidor y ya estará todo listo

~$ sudo systemctl reload sshd

Deja un comentario