Cómo habilitar inicios de sesión SSH sin contraseña en GNU/Linux

Es una excelente idea iniciar sesión en tu servidor seguro sin una contraseña. En serio, deshazte de eso. No es necesario utilizar una contraseña en uno de los servicios más atacados en servidores web, ¿verdad?

De acuerdo, suficiente la broma. Es cierto, sin embargo que la autenticación estándar basada en contraseñas en SSH es una mala idea. Las contraseñas se pueden romper con bastante facilidad, y cuando son lo único que se interpone entre un atacante y el acceso sin restricciones a un servidor, definitivamente debes estar nervioso.

Es por eso que la autenticación basada en claves RSA es mucho mejor. Puedes configurar tu servidor Linux para que solo permita el acceso desde computadoras que tienen las claves RSA que ya has aceptado. Cualquier otra persona será rechazada inmediatamente. Como beneficio adicional, puedes crear esas claves con o sin una contraseña, que depende exclusivamente de ti. Sin embargo, una buena clave sin una contraseña está bien en la mayoría de los casos.

Si también usas dispositivos Linux en casa, tienes el beneficio adicional de la conveniencia. Digamos que quieres SSH en tu estación de trabajo Linux desde tu computadora portátil. ¿Realmente quieres ingresar tu contraseña todo el tiempo? Configura las claves SSH, y no necesitarás hacerlo.

Instalar los paquetes
Hay un par de paquetes que necesitas tener. Probablemente ya tengas algunos de ellos, pero es una buena idea verificarlo. Los paquetes son diferentes en el servidor y el cliente, pero también hay una buena posibilidad de que ambas máquinas sean servidores y clientes entre sí (situación hogareña), por lo que es posible que desees instalar ambos conjuntos de paquetes.

En el servidor:
El servidor solo necesita el servicio OpenSSH instalado y en ejecución. No es por defecto en los sistemas Debian y Ubuntu. Si aún no lo tienes instalado, házlo.

sudo apt install openssh-server

 

En el cliente:

El cliente necesita el paquete de cliente OpenSSH. OpenSSH tiene una utilidad incorporada para generar claves.

sudo apt install openssh-client

 

 

Es realmente fácil generar tu clave. Simplemente dile a OpenSSH que necesita generar la clave. También es una buena idea especificar la cantidad de bits con el distintivo -b y el tipo con -t. Una clave de 4096 bits es la mejor. Proporciona una encriptación más fuerte.

ssh-keygen -b 4096 -t rsa

 

Primero, la utilidad te preguntará dónde desea almacenar la clave. Simplemente presiona Enter para el directorio predeterminado. Luego pedirá una contraseña. Déjalo en blanco para una clave sin contraseña y autenticación sin contraseña. Si deseas utilizar una contraseña para tu clave, ingrésala.

Tu computadora tardará un par de segundos en generar tu clave. Cuando termine, te dirá que terminó e imprimió una imagen de arte ASCII.

Envía tu clave

Para usar su clave deberás enviarla a tu servidor. OpenSSH tiene otra utilidad incorporada para eso, también. Dile dónde está tu clave y qué usuario eres en el servidor para asociarla.

ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.1.110

Ingresa la dirección IP del servidor. Es como si estuviera accediendo al servidor a través de SSH (sí lo está), pero solo está enviando la clave.

Después de eso, intenta acceder al servidor a través de SSH nuevamente. Esta vez solo debería permitirte ingresar sin una contraseña.

Configurar SSH para bloquear contraseñas
Para mejor seguridad, debes deshabilitar los inicios de sesión de contraseña SSH en el servidor. La configuración del servidor SSH se puede encontrar en “/etc/ssh/sshd_config”. Abre ese archivo en el servidor con sudo y tu editor de texto favorito.

 

Encuentra las líneas a continuación y edítalas para que se vean como el ejemplo. Descomenta ambas entradas y cambia los valores a no.

PasswordAuthentication no
PermitEmptyPasswords no

 

 

Eso no hará nada si dejas habilitada la autenticación PAM. Encuentra la línea a continuación y configúrala en no.

UsePAM no

Una vez que se modifiquen las entradas, guarda y salga del archivo, y luego reinicia el servidor SSH para que surta efecto.

sudo systemctl restart sshd

 

Si aún estás decidido a conservar el método de autenticación de contraseña, no olvides configurar la autenticación de dos factores como una capa adicional de protección.

Ahora tu servidor es mucho más seguro ahora sin contraseñas. También tiene la ventaja adicional de no tener que escribirlos. También puedes intercambiar tu clave individual con tantos servidores como desees.

Original

Comparte

(Artículo visitado 94 veces, 10 visitas hoy)

Responder

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribirse  
Notificarme de