Cómo conectarse por SSH sin contraseña de forma segura
Durante la gestión de un servidor es importante mantener cierta seguridad y la mejor forma de evitar que descubran la contraseña de acceso es no tener contraseña. El servicio SSH permite identificar al cliente 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.
1
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:
1
ssh-add nombre
Y ahora toca añadir a los servidores que queramos la clave.
1
ssh-copy-id -i nombre usuario@server
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 usuarios@equipos 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.
1
sudo nano /etc/ssh/sshd_config
Y debemos añadir la siguiente línea
1
PasswordAuthentication no
Recargamos el servidor y ya estará todo listo
1
sudo systemctl reload sshd