Guía para Configurar SSH con authorized_keys

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

1. Verificar la Instalación de SSH

Asegúrate de que el servidor SSH está instalado y en funcionamiento:

sudo systemctl status ssh

Si no está instalado, instálalo con:

sudo apt update
sudo apt install openssh-server

2. Crear o Verificar la Cuenta de Usuario

Si no existe un usuario específico, créalo:

sudo adduser nombre_usuario

Sustituye nombre_usuario por el nombre deseado.

3. Configurar el Archivo authorized_keys

  1. Acceder al Directorio del Usuario: Cambia al directorio del usuario:

    cd /home/nombre_usuario
  2. Crear la Carpeta .ssh: Asegúrate de que el directorio .ssh existe:

    mkdir -p .ssh
    chmod 700 .ssh
  3. Crear o Actualizar el Archivo authorized_keys: Agrega la clave pública al archivo:

    nano .ssh/authorized_keys

    Pega la clave pública y guarda el archivo. Por ejemplo:

    ssh-rsa AAAAB3...TuClavePública... nombre@equipo
  4. Establecer Permisos Correctos: Configura los permisos adecuados:

    chmod 600 .ssh/authorized_keys
    chown -R nombre_usuario:nombre_usuario .ssh

4. Modificar la Configuración de SSH

Edita el archivo de configuración de SSH para asegurarte de que acepta autenticación mediante claves públicas:

sudo nano /etc/ssh/sshd_config

Asegúrate de que las siguientes líneas están configuradas correctamente:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no

Reinicia el servicio SSH para aplicar los cambios:

sudo systemctl restart ssh

5. Probar la Conexión SSH

Desde el cliente, intenta conectarte usando la clave privada correspondiente:

ssh -i /ruta/a/tu/clave_privada nombre_usuario@direccion_ip_servidor

6. (Opcional) Configuración Adicional

  • Restringir el Acceso SSH: Si quieres permitir el acceso SSH solo a este usuario, agrega esta línea a sshd_config:

    AllowUsers nombre_usuario

    Luego reinicia el servicio SSH:

    sudo systemctl restart ssh
  • Configurar Firewall: Si estás utilizando un firewall, abre el puerto SSH (por defecto, 22):

    sudo ufw allow ssh

Con estos pasos, tu servidor estará configurado para autenticar a los usuarios mediante claves públicas en el archivo authorized_keys