SSH Passwordless Login Linux

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

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

Bien, basta de bromas. Sin embargo, es cierto. La autenticación estándar basada en contraseña en SSH es una mala idea. Las contraseñas se pueden descifrar con bastante facilidad, y cuando son lo único que se interpone entre un atacante y el acceso sin restricciones a su servidor, definitivamente debería estar nervioso.

Es por eso que la autenticación basada en claves RSA es mucho mejor. Puede configurar su servidor Linux para que solo permita el acceso desde computadoras que tengan las claves RSA que ya ha aceptado. Cualquier otra persona será rechazada inmediatamente. Como beneficio adicional, puede crear esas claves con o sin contraseña, lo cual depende totalmente de usted. Sin embargo, una clave segura sin contraseña está bien en la mayoría de los casos.

Si también usa dispositivos Linux en casa, tiene el beneficio adicional de la comodidad. Supongamos que desea acceder a SSH a su estación de trabajo Linux desde su computadora portátil. Tú De Verdad ¿Quieres introducir tu contraseña cada vez? Configura claves SSH y no será necesario.

Instalar los paquetes

Hay un par de paquetes que necesita. Probablemente ya tenga algunos de ellos, pero es una buena idea comprobarlos. 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 doméstica), por lo que es posible que desee instalar ambos conjuntos de paquetes.

en el servidor

El servidor solo necesita el servicio OpenSSH instalado y en funcionamiento. No está por defecto en los sistemas Debian y Ubuntu. Si aún no lo tienes instalado, hazlo.

sudo apt install openssh-server

en el cliente

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

sudo apt install openssh-client

Genere su clave

Generar clave SSH

Es realmente fácil generar su clave. Simplemente dígale a OpenSSH que necesita generar la clave. También es una buena idea especificar la cantidad de bits con el -b bandera y el tipo con -t. Lo mejor es una clave de 4096 bits. Proporciona un cifrado más fuerte.

ssh-keygen -b 4096 -t rsa

Primero, la utilidad le preguntará dónde desea almacenar la clave. Simplemente presione Entrar para el directorio predeterminado. Luego te pedirá una contraseña. Déjelo en blanco para una clave sin contraseña y autenticación sin contraseña. Si usted hacer desea utilizar una contraseña para su clave, ingrésela.

Su computadora tardará un par de segundos en generar su clave. Cuando termine, le dirá que terminó e imprimirá una imagen de arte ASCII.

Envía tu clave

Para usar su clave, deberá enviarla a su servidor. OpenSSH también tiene otra utilidad integrada para eso. Dígale dónde está su clave y con qué usuario en el servidor asociarla.

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

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

Después de eso, intente acceder al servidor a través de SSH nuevamente. Esta vez debería dejarte entrar sin contraseña.

Configurar SSH para bloquear contraseñas

Para obtener la mejor seguridad, debe deshabilitar los inicios de sesión con contraseña SSH en el servidor. La configuración del servidor SSH se puede encontrar en «/etc/ssh/sshd_config». Abra ese archivo en el servidor con sudo y tu editor de texto favorito.

Deshabilitar inicio de sesión con contraseña SSH

Busque las líneas a continuación y edítelas para que se parezcan al ejemplo. Descomente ambas entradas y cambie los valores a no.

PasswordAuthentication no
PermitEmptyPasswords no

Deshabilitar PAM SSH

Eso no hará nada si deja habilitada la autenticación PAM. Encuentre la línea a continuación y configúrela en no.

Una vez que se modifican las entradas, guarde y salga del archivo, y luego reinicie el servidor SSH para que surtan efecto.

sudo systemctl restart sshd

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

¡Eso es todo! Su servidor es mucho más seguro ahora sin contraseñas. También tiene el beneficio adicional de no tener que escribirlos. También puede intercambiar su clave única con tantos servidores como desee.

Experto Geek - Tu Guía en Tendencias Tecnológicas