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