GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar claves SSH en Ubuntu 18.04

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 claves públicas. El uso de claves SSH es más seguro y conveniente que la autenticación de contraseña tradicional.

En este tutorial, veremos cómo generar claves SSH en máquinas con Ubuntu 18.04. También le mostraremos cómo configurar una autenticación basada en clave SSH y conectarse a sus servidores Linux remotos sin ingresar una contraseña.

Creación de claves SSH en Ubuntu #

Antes de generar un nuevo par de claves SSH primero, verifique las claves SSH existentes en su máquina cliente Ubuntu. Puede hacerlo ejecutando el siguiente comando ls:

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

Si el comando anterior muestra algo como No such file or directory o no matches found significa que no tiene claves SSH en su máquina cliente y puede continuar con el siguiente paso y generar un par de claves SSH.

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

Genere un nuevo par de claves SSH de 4096 bits con su dirección de correo electrónico como comentario escribiendo:

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

La salida se verá así:

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

Presiona Enter para aceptar la ubicación y el nombre de archivo predeterminados.

A continuación, se le pedirá que escriba una frase de contraseña segura. Si desea utilizar una frase de contraseña, depende de usted. Si elige usar una frase de contraseña, obtendrá una capa adicional de seguridad.

Enter passphrase (empty for no passphrase):

Si no desea utilizar una frase de contraseña, simplemente presione Enter .

Toda la interacción se ve así:

Para verificar que se genere su nuevo par de claves SSH, escriba:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Copiar la clave pública al servidor #

Ahora que generó su par de claves SSH, el siguiente paso es copiar la clave pública al servidor que desea administrar.

La forma más fácil y recomendada de copiar su clave pública en el servidor es usar una utilidad llamada ssh-copy-id . En la terminal de su máquina local, escriba:

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 está autenticado, la clave pública ~/.ssh/id_rsa.pub se agregará al usuario remoto ~/.ssh/authorized_keys el archivo y la conexión se cerrarán.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Si por alguna razón el ssh-copy-id La utilidad 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 usando las 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, intente iniciar sesión en su servidor a través de SSH:

ssh remote_username@server_ip_address

Si no ha establecido una frase de contraseña para la clave privada, iniciará sesión de inmediato. De lo contrario, se le pedirá que ingrese la frase de contraseña.

Deshabilitar autenticación de contraseña SSH #

Deshabilitar la autenticación de contraseña agrega una capa adicional de seguridad a su servidor.

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 de sudo.

Inicie sesión en su servidor remoto:

ssh sudo_user@server_ip_address

Abra el archivo de configuración de SSH /etc/ssh/sshd_config con tu editor de texto:

sudo nano /etc/ssh/sshd_config

Busque las siguientes directivas y modifíquelas como sigue:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

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

sudo systemctl restart ssh

En este punto, la autenticación basada en contraseña está deshabilitada.


Ubuntu
  1. Cómo configurar claves SSH

  2. Cómo configurar claves SSH en Ubuntu 16.04

  3. Cómo configurar claves SSH en Ubuntu 18.04

  4. Cómo configurar claves SSH en Debian

  5. Cómo configurar claves SSH autorizadas en Ubuntu

Cómo configurar claves SSH en Debian 9

Cómo configurar claves SSH en Debian 10

¿Cómo configurar claves SSH – SO Windows?

Cómo configurar la clave SSH en un servidor Plesk

Cómo configurar claves SSH en Debian 11 Linux

Cómo mejorar la seguridad SSH en Ubuntu 18.04