Tutoriales

Cómo configurar el inicio de sesión SSH sin contraseña en Rocky Linux

SSH Las claves son claves criptográficas que se utilizan para autenticar y proteger el tráfico o las comunicaciones entre dos servidores o sistemas. Proporcionan un método de autenticación más seguro en comparación con la autenticación de contraseña tradicional, que es vulnerable a los ataques de fuerza bruta.

En este tutorial, lo guiaremos a través de la configuración de claves SSH Linux oscilante.

Cree un par de claves RSA-SSH en Rocky Linux

Para empezar a crear un RSA par de claves en nuestro sistema local ejecute el siguiente comando:

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

Por defecto, esto crea un RSA de 2048 bits Par de claves considerado lo suficientemente fuerte como para cifrar el tráfico entre el cliente y el host remoto.

Opcionalmente, puede crear uno 4096 bits Par de claves que es más grande y más seguro usando el -b Posibilidad de la siguiente manera:

$ ssh-keygen -b 4096

Después de ejecutar el ssh-keygen comando, seguido de una serie de indicaciones. Primero debe especificar el archivo donde se almacenarán las claves. De forma predeterminada, las claves se almacenan en ~/.ssh directorio en su directorio de inicio. Puede definir su archivo personalizado, pero en esta ilustración usaremos la configuración predeterminada

Así que presiona APORTE para guardar las llaves en el ~/.ssh directorio en su directorio de inicio.

Crear claves SSH en Rocky Linux

Si las claves SSH ya existen, recibirá el siguiente mensaje y se le pedirá que las sobrescriba. Se recomienda precaución aquí. Sobrescribir las claves significa que la autenticación con las claves anteriores no es posible. Escoger ‘Sí’ destruye las claves actuales y genera otras nuevas.

Almacenar claves SSH en Rocky Linux
Almacenar claves SSH en Rocky Linux

A continuación, se le pedirá una frase de contraseña. Este es un paso opcional y proporciona una capa adicional de protección para evitar que los usuarios no autorizados utilicen las claves para la autenticación. Sin embargo, puede dejar este campo en blanco si desea configurar la autenticación SSH sin contraseña entre su sistema local y otros hosts remotos.

Dejaremos esto en blanco por ahora y presionaremos APORTE.

Agregar frase de contraseña SSH en Rocky Linux
Agregar frase de contraseña SSH en Rocky Linux

Finalmente, el par de claves SSH (en público y Privado key) se almacenan en su sistema local en la ruta especificada. Esta es la salida generada después de la ejecución exitosa del comando.

Resumen de claves SSH en Rocky Linux
Resumen de claves SSH en Rocky Linux

Con las opciones predeterminadas, el SSH Las claves se almacenan en ~/.ssh directorio en su directorio de inicio. Para confirmar esto, ejecute el comando:

$ ls -la ~/.ssh
Confirmar claves SSH en Rocky Linux
Confirmar claves SSH en Rocky Linux
  • Ese id_rsa es la clave privada y debe mantenerse en secreto y confidencial. Compartir puede causar una violación grave de su servidor remoto.
  • Ese id_rsa.pub es la clave pública y se almacena en el host remoto al que intenta conectarse.

Con el SSH Clave creada con éxito, el siguiente paso es guardar la Público Clave del sistema remoto lista para la autenticación.

Copie la clave pública SSH en el servidor Linux remoto

Ese ssh-copia-id El comando proporciona una manera fácil y conveniente de copiar la clave pública SSH a un host remoto. Toma la siguiente sintaxis:

$ ssh-copy-id [email protected]

Tenemos un sistema remoto con un usuario regular llamado Beto ya configurado. Ejecute el siguiente comando para copiar la clave pública SSH:

$ ssh-copy-id [email protected]

Cuando se conecte al host por primera vez, verá el siguiente resultado. Entrar para continuar ‘yes’ y presione ENTER para continuar.

Copie la clave SSH en Linux remoto
Copie la clave SSH en Linux remoto

El comando busca en su sistema local la clave pública id_rsa.pub y una vez que establece su presencia, le solicita la contraseña del usuario remoto.

Conectarse a Linux remoto
Conectarse a Linux remoto

Introduce la contraseña y pulsa APORTE. La clave pública se copia en el host remoto ~/.ssh/authorized_keys Archivo. Llegaremos a eso más tarde.

Clave SSH copiada a Linux remoto
Clave SSH copiada a Linux remoto

En su sistema local está el ~/.ssh/known_hosts se crea el archivo. Este es un archivo que contiene las huellas dactilares SSH de los hosts remotos a los que se ha conectado.

Para ver el archivo, simplemente ejecute el comando:

$ cat ~/.ssh/known_hosts
Mostrar archivo de hosts SSH
Mostrar archivo de hosts SSH

Conexión a linux remoto sin contraseña

En este punto, debería poder iniciar sesión en el host remoto sin una contraseña. Para probarlo, inicie sesión normalmente.

$ ssh [email protected]

Esta vez será llevado inmediatamente al shell del host remoto.

Inicio de sesión remoto sin contraseña SSH
Inicio de sesión remoto sin contraseña SSH

Como ya se mencionó, la clave pública se almacena en el llaves_tituladas Archivo en el host remoto. Puede confirmar esto como se muestra.

$ ls -la ~/.ssh/

Para ver el archivo, use el comando cat de la siguiente manera.

$ cat ~/.ssh/authorized_keys 
Mostrar clave SSH pública
Mostrar clave SSH pública

Deshabilitar la autenticación de contraseña SSH

Ese SSH La autenticación de clave pública se ha configurado correctamente. Sin embargo, la autenticación de contraseña aún está activa, lo que hace que su host remoto sea vulnerable a los ataques de fuerza bruta.

Por lo tanto, se recomienda enfáticamente deshabilitar la autenticación de contraseña. Ahora vuelva a iniciar sesión en el host remoto con el usuario root o sudo. Luego abre el sshd_config archivo de configuración.

$ sudo vim /etc/ssh/sshd_config

Desplácese hacia abajo y encuentre el autenticación de contraseña política. Si está comentado, coméntalo y ponlo en 'no'.

PasswordAuthentication no

Guarde los cambios y salga del archivo.

Para aplicar los cambios realizados, reinicie el sshd demonio como se muestra.

$ sudo systemctl restart sshd

En este punto, la autenticación de contraseña SSH se ha deshabilitado en el servidor remoto y solo se puede acceder al servidor remoto mediante la autenticación de clave pública.

Hemos configurado correctamente SSH autenticación basada en claves en el host remoto, que le permite iniciar sesión sin una contraseña. Esta es la forma más segura de iniciar sesión en hosts remotos siempre que la clave privada permanezca confidencial y secreta.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba