Servidor

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

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

Secure Shell o SSH es un conocido protocolo de red de código abierto. El protocolo se utiliza para iniciar sesión en otras máquinas de forma remota. Por lo tanto, sería fácil ejecutar una serie de comandos e iniciar cualquier aplicación en el dispositivo remoto sin problemas sin necesidad de estar cerca de la máquina remota.  Además, el protocolo SSH es muy confiable y seguro. Los usuarios siempre dependen del protocolo SSH para copiar archivos entre dos dispositivos diferentes.

Generalmente, para establecer una conexión SSH con la máquina remota, debe ingresar el nombre de usuario y la contraseña de la máquina remota. Pero, ¿qué sucede si necesita un método más seguro que usar el nombre de usuario y la contraseña en cada inicio de sesión?? Esto se puede hacer usando una clave SSH generada desde la máquina cliente y luego copiada en la máquina remota. Con pequeñas configuraciones adicionales, podrá iniciar sesión de forma segura en la máquina remota sin usar un nombre de usuario y contraseña cada vez. Usar una clave SSH en lugar de usar el nombre de usuario y la contraseña en cada inicio de sesión es mucho más seguro; solo la máquina que tiene la clave SSH correcta puede iniciar sesión rápidamente.

Hoy le mostraremos cómo establecer una conexión SSH sin necesidad de ingresar la contraseña de la máquina remota. Por lo general, se puede utilizar un inicio de sesión sin contraseña para transferir archivos entre varias máquinas rápidamente. Pero antes de comenzar nuestro tutorial, echemos un vistazo a nuestro entorno.

Preparación del medio ambiente

Sería mejor si tuviera dos máquinas, el cliente y las máquinas remotas. Casi todo el trabajo se realizará desde la máquina cliente que se utilizará para conectarse al dispositivo remoto. Ambos dispositivos son Ubuntu con las siguientes IP

Una cosa más antes de comenzar, asegúrese de que ambas máquinas estén actualizadas usando los siguientes comandos:

actualización de sudo apt actualización de sudo apt

Ahora comencemos nuestra guía.

Configuración de inicio de sesión SSH sin contraseña

Paso 1. Desde la máquina cliente, asegúrese de que haya una clave SSH generada antes de usar el siguiente comando.

ls -al ~ /.ssh / id_ *.pub

Desde la máquina cliente Verifique las claves SSH existentes

Como puede observar, si no ha generado previamente una clave SSH, aparecerá el mensaje "No existe tal archivo o directorio". De lo contrario, obtendrá rápidamente las claves disponibles si existen.

Paso 2. Como no ha generado claves SSH anteriormente, es hora de generar una nueva clave SSH con el siguiente comando:

ssh-keygen -t rsa -b 4096

Desde la máquina cliente Generar SSH

Normalmente, el comando anterior generará dos nuevas claves SSH en dos archivos diferentes. Ambos archivos se almacenan en un directorio oculto llamado ".ssh ”en el directorio de inicio del usuario actual. Puede encontrar una clave privada almacenada en un archivo llamado id_dsa y otra clave pública en un archivo llamado id_dsa.pub. Además, se le pedirá que agregue una frase de contraseña que se usa para proteger las claves generadas, y puede usarla mientras se conecta a través de SSH. Pero puedes presionar el botón "Ingresar"Botón para no utilizar uno.

Paso 3. Ahora puede enumerar el contenido de la .ssh directorio para asegurarse de que se crean ambas claves.

ls -l / inicio / tuts /.ssh /

Desde la máquina cliente, verifique que se hayan creado ambas claves

Paso 4. Además, puede asegurarse de que el archivo tenga una clave dentro usando el siguiente comando:

ssh-keygen -lv

De la huella digital de la pantalla de la máquina del cliente

Paso 5. Para obtener una vista previa del contenido del archivo de clave pública.

gato .ssh / id_rsa.pub

Desde la máquina cliente Mostrar el contenido del archivo de clave SSH

Paso 6. Ahora desde la máquina remota, asegúrese de tener SSH instalado. Si no está instalado, puede usar el siguiente comando.

sudo apt install ssh

Desde la máquina remota Instale el paquete SSH

Paso 7. Regrese a la máquina cliente, conéctese a la máquina remota y cree un nuevo directorio llamado .ssh.

sudo ssh nombre_usuario_máquina_remota @ IP_máquina_remota mkdir -p .ssh

Asegúrese de reemplazar el nombre de usuario de la máquina remota con el nombre de usuario real y la IP de la máquina remota con la IP remota.

Desde el directorio de creación de la máquina cliente en la máquina remota

Paso 8. A continuación, copiemos de la máquina cliente la clave SSH pública generada previamente a la máquina remota. Sería útil si pegara la clave pública en un archivo llamado "Claves_autorizadas". Es muy recomendable no cambiar el nombre del archivo porque cuando va a establecer una conexión SSH, el primer archivo que verificará el sistema operativo es el "Claves_autorizadas" expediente. Si el sistema no encontró el archivo, se le pedirá que ingrese un nombre de usuario y contraseña para poder iniciar sesión en la máquina remota.

gato sudo .ssh / id_rsa.pub | ssh nombre_usuario_máquina_remota @ IP_máquina_remota 'cat >> .ssh / claves_autorizadas '

Desde la máquina cliente Copie la clave SSH a la máquina remota

Paso 9. Desde la máquina remota, asegúrese de que la clave pública se haya copiado correctamente con el nombre Authorized_keys.

ls .ssh / gato .ssh / claves_autorizadas

Desde la máquina remota Verifique la clave SSH El archivo se copió correctamente

Paso 10. Ahora, desde la máquina cliente, intentemos establecer una conexión SSH sin un nombre de usuario y contraseña.

ssh nombre_usuario_máquina_remota @ IP_máquina_remota

Desde la máquina cliente conéctese a la máquina remota

Como puede notar, no se le pedirá que ingrese un nombre de usuario ni una contraseña.

Deshabilitar la autenticación de contraseña

Para deshabilitar la autenticación de contraseña usando la clave pública, primero debe editar el archivo de configuración SSH desde la máquina remota y deshabilitar la opción de autenticación de contraseña. A continuación se muestran los pasos para hacerlo.

Paso 1. Desde la máquina remota, abra el archivo de configuración ssh usando su editor favorito.

vi / etc / ssh / sshd_config

Desde la máquina remota, abra el archivo de configuración SSH

Paso 2. Desplácese hasta el final del archivo de configuración SSH y agregue las siguientes líneas para deshabilitar la autenticación de contraseña:

RSAAuthentication sí PubkeyAuthentication sí PasswordAuthentication no UsePAM no ChallengeResponseAuthentication no

Desde el archivo de configuración SSH de edición de máquina remota

Paso 3. Guarde y salga de su archivo.

Paso 4. Finalmente, reinicie el servicio SSH e intente establecer una nueva conexión desde la máquina cliente a la máquina remota nuevamente.

Desde el servicio SSH de reinicio de máquina remota

Eso es! Acaba de aprender a establecer una conexión SSH sin contraseña. Espero que lo hayas disfrutado.

Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...