Androide

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

Crear llaves SSH para iniciar sesión SIN contraseñas

Crear llaves SSH para iniciar sesión SIN contraseñas

Tabla de contenido:

Anonim

Secure Shell (SSH) es un protocolo de red criptográfico utilizado para una 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 claves SSH y cómo conectarse a su servidor Linux sin ingresar una contraseña.

Configurar inicio de sesión sin contraseña SSH

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 ~/.ssh/authorized_keys 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. Verifique el par de claves SSH existente.

    Antes de generar un nuevo par de claves SSH, primero verifique 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.

    Genere 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):

    A continuación, la herramienta ssh-keygen le pedirá que escriba una frase de contraseña segura. Si desea usar la frase de contraseña, depende de usted, si elige usar la 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 totalmente automatizados. Si no desea utilizar la frase de contraseña, simplemente presione Enter

    Enter passphrase (empty for no passphrase):

    Toda la interacción se ve así:

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

    ls ~/.ssh/id_*

    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

    Copia la clave pública

    Ahora que ha generado un par de claves SSH, para poder iniciar sesión en su servidor sin una contraseña, debe copiar la clave pública en el servidor que desea administrar.

    La forma más fácil de copiar su clave pública en su servidor es usar un comando llamado ssh-copy-id . En su terminal de máquina local, escriba:

    ssh-copy-id remote_username@server_ip_address

    Se le pedirá que ingrese la contraseña del remote_username usuario remote_username :

    remote_username@server_ip_address's password:

    Una vez que el usuario se haya autenticado, la clave pública se agregará al archivo de user_keys remoto del usuario y se cerrará la conexió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"

    Inicie sesión en su servidor utilizando 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 solo intente iniciar sesión en su servidor a través de SSH:

    ssh remote_username@server_ip_address

    Si todo salió bien, iniciará sesión de inmediato.

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 poder iniciar sesión en su servidor sin una contraseña y el usuario con el que inicia sesión tiene privilegios de sudo.

Los siguientes tutoriales describen cómo configurar el acceso a sudo:

  1. Inicie sesión en su servidor remoto con claves SSH, ya sea como usuario con privilegios de sudo o root:

    ssh sudo_user@server_ip_address

    Abra el archivo de configuración SSH /etc/ssh/sshd_config , busque las siguientes directivas y modifique de la siguiente manera:

    / etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

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

    En los 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 claves SSH, lo que le permite iniciar sesión en su servidor remoto sin proporcionar una contraseña de usuario. Puede agregar la misma clave a múltiples servicios 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.

seguridad ssh