Androide

Cómo configurar claves ssh en debian 9

02 - Instalación y Configuración de SSH Para Administración Remota [Debian 9 - GNU/Linux]

02 - Instalación y Configuración de SSH Para Administración Remota [Debian 9 - GNU/Linux]

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

En este tutorial, describiremos cómo generar claves SSH en sistemas Debian 9. 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.

Crear claves SSH en Debian

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

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

Si el resultado del comando anterior contiene algo como No such file or directory se no matches found No such file or directory o no matches found , significa que no tiene claves SSH, y puede continuar con el siguiente paso y generar un nuevo 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 nuevas.

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

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

El resultado será similar al siguiente:

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

Presione 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. Ya sea que quiera usar una frase de contraseña, depende de usted. Con la frase de contraseña, se agrega una capa adicional de seguridad a su clave.

Enter passphrase (empty for no passphrase):

Toda la interacción se ve así:

Para verificar que se generó el par de claves SSH, escriba:

ls ~/.ssh/id_*

La salida debería verse así:

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

Copie la clave pública al servidor

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

La forma más fácil y recomendada de copiar la clave pública en el servidor remoto es usar la herramienta ssh-copy-id .

En su terminal de máquina local, ajuste el siguiente comando:

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 autentica, la clave pública ~/.ssh/id_rsa.pub se agregará al archivo de usuario remoto ~/.ssh/authorized_keys , y se cerrará la conexió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 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 el servidor utilizando claves SSH

En este punto, debería poder iniciar sesión en el servidor remoto sin que se le solicite una contraseña.

Para probarlo, intente conectarse al servidor a través de SSH:

ssh remote_username@server_ip_address

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.

Inicie sesión en su servidor remoto:

ssh sudo_user@server_ip_address

Abra el archivo de configuración SSH /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Busque las siguientes directivas y modifíquelas 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 con el siguiente comando:

sudo systemctl restart ssh

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

Conclusión

En este tutorial, ha aprendido cómo generar un nuevo par de claves SSH y configurar una autenticación basada en claves SSH. 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.

De forma predeterminada, SSH escucha en el puerto 22. Cambiar el puerto SSH predeterminado reduce el riesgo de ataques automáticos.

seguridad de debian ssh