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

Secure Shell (SSH) es un protocolo de red criptográfico utilizado para la conexión segura entre un cliente y un servidor y admite varios mecanismos de autenticación. Los dos mecanismos más populares son la autenticación basada en contraseñas y la autenticación basada en Clave Pública.

en este tutorial, le mostraremos cómo configurar una autenticación basada en clave SSH y cómo conectarse a su servidor Linux sin ingresar una contraseña.,

Setup SSH passwordless Login #

para configurar un inicio de sesión SSH sin contraseña en Linux todo lo que necesita hacer es generar una clave de autenticación pública y anexarla al archivo de hosts remotos ~/.ssh/authorized_keys.

los siguientes pasos describirán el proceso para configurar el inicio de sesión SSH sin contraseña:

  1. comprobar si existe un par de claves SSH.

    antes de generar un nuevo par de claves SSH, compruebe primero si ya tiene una clave SSH en su máquina cliente porque no desea sobrescribir sus claves existentes.,

    ejecute el siguiente comando ls para ver si las claves SSH existentes están presentes:

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

    Si hay claves existentes, puede usarlas y omitir el siguiente paso o hacer una copia de seguridad de las claves antiguas y generar una nueva.

    si ve No such file or directory o no matches found significa que no tiene una clave SSH y puede continuar con el siguiente paso y generar una nueva.

  2. Generar un nuevo par de claves SSH.,

    el siguiente comando generará un nuevo par de claves SSH de 4096 bits con su dirección de correo electrónico como comentario:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

    presione Enter para aceptar la ubicación y el nombre de archivo predeterminados:

    Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

    Next, la herramienta ssh-keygen le pedirá que escriba una contraseña segura. Ya sea que desee usar una frase de contraseña, depende de usted, si elige usar una frase de contraseña obtendrá una capa adicional de seguridad., En la mayoría de los casos, los desarrolladores y administradores de sistemas usan SSH sin una frase de contraseña porque son útiles para procesos completamente automatizados. Si no desea usar una frase de contraseña, simplemente presione Enter.,

    Enter passphrase (empty for no passphrase):

    toda La interacción se parece a esto:

    Para asegurarse de que las llaves SSH se generan usted puede enumerar sus nuevas claves públicas y privadas con:

    ls ~/.ssh/id_*
    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
  3. Copiar la clave pública

    Ahora que ha generado un par de claves SSH, con el fin de ser capaz de acceder a su servidor sin una contraseña, usted necesita una copia de la clave pública al servidor que desea administrar.,

    la forma más fácil de copiar su Clave Pública a su servidor es usar un comando llamado ssh-copy-id. En el tipo de terminal de su máquina local:

    ssh-copy-id remote_username@server_ip_address

    se le pedirá que ingrese el remote_username contraseña:

    remote_username@server_ip_address's password:

    Una vez que el Usuario se haya autenticado, la Clave Pública se agregará al usuario remoto authorized_keys el archivo y la conexión se cerrarán.,

    si por alguna razón la utilidad ssh-copy-id no está disponible en su computadora local, puede usar el siguiente comando para copiar la Clave Pública:

    cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
  4. inicie sesión en su servidor usando claves SSH

    Después de completar los pasos anteriores, debería poder iniciar sesión en el servidor remoto sin que se le solicite una contraseña.

    para probarlo, simplemente intente iniciar sesión en su servidor a través de SSH:

    ssh remote_username@server_ip_address

    Si todo salió bien, se conectará inmediatamente.,

deshabilitar la autenticación de contraseña SSH #

para agregar una capa adicional de seguridad a su servidor, puede deshabilitar la autenticación de contraseña para SSH.

antes de deshabilitar la autenticación de contraseña SSH, asegúrese de que puede iniciar sesión en su servidor sin una contraseña y que el usuario con el que está iniciando sesión tiene privilegios sudo.,los toriales describen cómo configurar el acceso sudo:

  • Cómo crear un usuario sudo en Ubuntu
  • Cómo crear un usuario sudo en CentOS
  • Cómo crear un usuario sudo en Debian
  1. inicie sesión en su servidor remoto con claves SSH, ya sea como usuario con privilegios sudo o como root:

    ssh sudo_user@server_ip_address
  2. abra el archivo de configuración SSH /etc/ssh/sshd_config, busque las siguientes directivas y modifíquelas de la siguiente manera:

    /etc/ssh/sshd_config
    PasswordAuthentication noChallengeResponseAuthentication noUsePAM no

    Una vez que haya terminado, guarde el archivo y reinicie el servicio SSH.,

    en servidores Ubuntu o Debian, ejecute el siguiente comando:

    sudo systemctl restart ssh

    en servidores CentOS o Fedora, ejecute el siguiente comando:

    sudo systemctl restart sshd

conclusión #

en este tutorial ha aprendido cómo configurar una autenticación basada en clave SSH, le permite iniciar sesión en su servidor remoto sin proporcionar una contraseña de usuario. Puede agregar la misma clave a varios servidores remotos.

también le hemos mostrado cómo deshabilitar la autenticación de contraseña SSH y agregar una capa adicional de seguridad a su servidor.

Deja una respuesta

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