1. Generar una clave SSH en tu equipo local (si no la tienes)

ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com"

Pulsa Enter para aceptar la ubicación por defecto (~/.ssh/id_ed25519) y establece una frase de paso si lo deseas.


2. Copiar la clave pública al servidor

ssh-copy-id root@IP_DEL_SERVIDOR

Esto añadirá tu clave pública a ~/.ssh/authorized_keys en el servidor.


3. Probar conexión sin contraseña

ssh root@IP_DEL_SERVIDOR

Debes poder entrar sin introducir la contraseña del usuario root, solo con tu clave privada.


4. Editar configuración de SSH para mayor seguridad

Abrir el archivo de configuración:

nano /etc/ssh/sshd_config

Modificar (o añadir si no existen) las siguientes líneas:

Port 2222
PermitRootLogin yes
PasswordAuthentication no

5. Permitir el nuevo puerto en el firewall (si usas UFW)

ufw allow 2222/tcp
ufw delete allow OpenSSH
ufw allow ssh  # Opcional: si quieres mantener el puerto 22 abierto temporalmente

6. Reiniciar el servicio SSH

systemctl restart ssh

7. Probar conexión con el nuevo puerto

ssh root@IP_DEL_SERVIDOR -p 2222

Asegúrate de no cerrar la sesión actual hasta confirmar que puedes conectarte con la nueva configuración.