GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo generar y configurar claves SSH en Debian 10

Introducción

SSH significa Secure Shell y funciona como un método para establecer conexiones remotas entre computadoras. SSH generalmente se usa para iniciar sesión y administrar un servidor remoto.

Esta guía lo ayudará a generar un par de claves SSH en Debian 10 Linux.

Requisitos previos

  • Un sistema que ejecuta Debian 10 Linux
  • SSH configurado tanto en el cliente como en el sistema remoto. (Aprenda cómo habilitar SSH en Debian).
  • Acceso a una ventana de terminal/línea de comandos (Actividades> Buscar> Terminal )
  • Una cuenta de usuario con sudo o raíz privilegios para el sistema local
  • Una cuenta de usuario y un nombre de host para el servidor remoto

Paso 1:comprobar las claves existentes

Si el sistema ya se ha conectado al servidor remoto a través de SSH, es posible que ya tenga claves SSH. Verifique si hay claves preexistentes ingresando el siguiente comando en una ventana de terminal:

ls -l ~/.ssh/id*

Si el sistema responde que no existe tal archivo o directorio, el sistema no tiene claves SSH.

Si el sistema enumera un archivo, tiene un par de claves SSH. Para seguir usando este par de claves, avance al Paso 3 . Como alternativa, haga una copia de seguridad de este par de claves y luego proceda a generar un nuevo par de claves SSH.

Paso 2:Cree un par de claves SSH

Este paso crea una clave SSH pública y privada.

1. En la terminal, ingresa el siguiente comando:

ssh-keygen

2. De forma predeterminada, esto crea un RSA de 2048 bits Par de claves. Para mayor seguridad, un RSA de 4096 bits El par de claves se puede agregar usando -b 4096 opción de la siguiente manera:

ssh-keygen -b 4096

El sistema procesa la solicitud y luego solicita la ubicación para guardar el par de claves. Por defecto, usa ~/.ssh/id_rsa . Ese es el /.ssh directorio en el directorio de inicio.

3. Presione Intro para aceptar esta ubicación a menos que sea necesario usar una ubicación diferente.

4. Si ya existe una clave en este sistema, ahora le pedirá que sobrescriba la clave anterior. Presiona y para continuar.

5. A continuación, el sistema le solicita que ingrese y confirme una frase de contraseña. Esta es una capa adicional de seguridad ssh, que obliga a los usuarios a ingresar la frase de contraseña cuando se conectan a través de SSH. Configure y confirme una frase de contraseña, o déjela en blanco para omitir este paso.

6. Finalmente, el sistema muestra la identificación y la ubicación de la clave pública, la huella digital de la clave y la imagen aleatoria de la clave.

Paso 3:Copie la clave pública en el servidor remoto

Copie la clave pública al servidor remoto para emparejar las claves SSH correctamente:

1. El método más fácil es ingresar el siguiente comando:

ssh-copy-id [email protected]

Reemplazar usuario con el nombre de usuario real para el sistema remoto. Además, reemplace nombre de host con el nombre de host real de la computadora remota. Se puede usar la dirección IP del sistema remoto en lugar del nombre de host.

2. El sistema ahora intenta conectarse al sistema remoto utilizando el nombre de usuario que proporcionó. En la primera conexión, el sistema puede responder que no se puede establecer la autenticidad del host. Escribe yes y presiona Entrar .

3. El sistema escanea el sistema local para el id_rsa.pub clave que se generó en el Paso 2 . Luego solicitará la contraseña de la cuenta de usuario en el sistema remoto. Introduzca la contraseña y presiona Entrar .

4. El sistema debería mostrar el número de llaves añadidas:1 . Luego muestra instrucciones para iniciar sesión en el sistema remoto. Puede ingresar el comando como se muestra en su pantalla.

Paso 3.1:copia manual de la clave pública SSH en el servidor remoto

Si no es posible copiar la clave SSH automáticamente, la clave se puede copiar manualmente.

1. Primero, muestre la clave SSH con el siguiente comando:

cat ~/.ssh/id_rsa.pub

El sistema debería mostrar la clave pública SSH que se acaba de crear. Debe comenzar con:

ssh-rsa AAAA

2. Tome nota de esta cadena de caracteres.

3. A continuación, acceda al servidor remoto. Abra una terminal y cree un nuevo directorio ssh ingresando lo siguiente:

sudo mkdir -p ~/.ssh

5. A continuación, agregue la clave pública al archivo authorized_keys ingresando lo siguiente:

sudo echo ssh_public_key >> ~/.ssh/authorized_keys

Reemplazar ssh_public_key con la clave pública real mostrada por el comando cat.

6. Configure los permisos correctos para el nuevo directorio:

sudo chmod -R go= ~/.ssh

7. Si está utilizando la cuenta de usuario raíz de Debian en el servidor, el propietario del directorio debe establecerse en la cuenta de usuario que iniciará sesión de forma remota en el servidor:

sudo chown -R user:user ~/.ssh

Paso 4:Inicie sesión de forma remota mediante SSH

1. Desde el sistema cliente, abra una ventana de terminal e ingrese lo siguiente:

ssh [email protected]

2. El sistema puede mostrar que no se puede establecer la autenticidad del host. Escribe yes y presiona Entrar .

3. Si establece una frase de contraseña durante el Paso 2 , ingréselo cuando se le solicite.

Ahora debería tener una conexión SSH al servidor remoto.

Paso 5:deshabilite la autenticación de contraseña (opcional)

Deshabilitar la autenticación de contraseña es una medida de seguridad. Previene ataques de fuerza bruta al intentar iniciar sesión en el servidor.

Antes de continuar, verifique dos veces para asegurarse de que:

  • Puede iniciar sesión en el servidor sin una contraseña (como usar una conexión SSH con un par de claves, detallado en este artículo).
  • Está iniciando sesión en el servidor con una cuenta de usuario sudo.

1. Comience iniciando sesión en el servidor remoto:

ssh [email protected]

Este nombre de usuario debe tener sudo privilegios.

2. Luego, edite el sshd_config archivo en un editor de texto de su elección (estamos usando nano):

sudo nano /etc/ssh/sshd_config

3. Busque y modifique las siguientes líneas para que tengan el siguiente aspecto:

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

4. Escriba los cambios y luego salga del editor. Reinicie el servicio SSH ingresando lo siguiente:

sudo systemctl restart ssh

El sistema ahora ya no permite la autenticación de contraseña para inicios de sesión.


Debian
  1. Cómo configurar claves SSH

  2. Configurar claves SSH en el sistema Debian 9:¿cómo hacerlo?

  3. Cómo configurar claves SSH en Ubuntu 16.04

  4. Cómo configurar claves SSH en Ubuntu 18.04

  5. Cómo configurar claves SSH en Debian

Cómo configurar claves SSH en Debian 10

Cómo configurar la autenticación SSH sin contraseña en Linux

Cómo generar una clave SSH en CentOS 8

Cómo configurar claves SSH en Debian 11 Linux

Cómo configurar WireGuard VPN en Debian 11

¿Cómo generar y usar la clave SSH en el sistema Linux?