1. Generar un par de claves SSH en tu computadora: Abre una terminal y ejecuta el siguiente comando para generar un par de claves SSH (pública y privada). Si no tienes el programa ssh-keygen instalado, puedes instalarlo usando sudo apt install openssh-client.

    ssh-keygen -t rsa -b 4096
    

    Esto generará dos archivos: id_rsa (clave privada) y id_rsa.pub (clave pública) en tu directorio ~/.ssh.

    Una vez generadas solo usar estos comandos:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

    Paso 2 no es necesario si las genero en la VPS.

  2. Copiar la clave pública al servidor: Utiliza ssh-copy-id para copiar tu clave pública al servidor Ubuntu. Debes reemplazar usuario y dirección_ip con el nombre de usuario y la dirección IP del servidor Ubuntu.

    ssh-copy-id usuario@dirección_ip
    

    Esto te pedirá la contraseña del usuario en el servidor Ubuntu. Una vez ingresada, copiará tu clave pública al archivo ~/.ssh/authorized_keys en el servidor.

  3. Configurar la autenticación SSH en el servidor: Conéctate al servidor Ubuntu a través de SSH:

    ssh usuario@dirección_ip
    

    Después de iniciar sesión, edita el archivo de configuración SSH:

    sudo nano /etc/ssh/sshd_config
    

    Encuentra la línea que dice PasswordAuthentication y cámbiala a no:

    Guarda los cambios y cierra el editor de texto.

    sudo systemctl restart ssh  
    

    En estos archivos

    sudo nano /etc/ssh/sshd_config.d/50-cloud-init.conf
    sudo nano /etc/ssh/sshd_config.d/60-cloudimg-settings.conf      
    

    PasswordAuthentication no