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. Normalmente, 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

  • los cliente la máquina tiene una IP 192.168.1.20 con nombre de usuario tuts.
  • los remoto la máquina tiene una IP 192.168.1.30 con un nombre de usuario Hendadel.

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

sudo apt update
sudo apt upgrade

Ahora comencemos nuestra guía.

Índice
  • Configuración de inicio de sesión SSH sin contraseñ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
    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. Dado que 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
    Desde la máquina cliente Generar SSH

    Normalmente, el comando anterior generará dos claves SSH nuevas 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”Para no utilizar uno.

    Paso 3. Ahora puede enumerar el contenido del directorio .ssh para asegurarse de que se hayan creado ambas claves.

    ls -l /home/tuts/.ssh/

    Desde la máquina cliente, verifique que se hayan creado ambas claves
    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
    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.

    cat .ssh/id_rsa.pub

    Desde la máquina cliente Mostrar el contenido del archivo de clave SSH
    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
    Desde la máquina remota Instale el paquete SSH

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

    sudo ssh remote_machine_username@remote_machine_IP 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
    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 una contraseña para poder iniciar sesión en la máquina remota.

    sudo cat .ssh/id_rsa.pub | ssh remote_machine_username@remote_machine_IP 'cat >> .ssh/authorized_keys'

    Desde la máquina cliente Copie la clave SSH a la máquina remota
    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/
    cat .ssh/authorized_keys

    Desde la máquina remota Verifique el archivo de clave SSH copiado exitosamente
    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 remote_machine_username@remote_machine_IP

    Desde la máquina cliente conéctese a la 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
    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 yes
    PubkeyAuthentication yes
    PasswordAuthentication no
    UsePAM no
    ChallengeResponseAuthentication no

    Desde el archivo de configuración SSH de edición de máquina remota
    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
    Desde el servicio SSH de reinicio de máquina remota

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

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir