Destacado

Usar claves SSH en lugar de una contraseña

Publicado el 21/08/2026 Actualizado el 06/10/2026 73 visitas
VPS Linux SSH Clés SSH

Una contraseña se adivina, se reutiliza y acaba apareciendo en una filtración. Una clave SSH no se adivina: la parte secreta nunca sale de su ordenador y el servidor solo conoce la parte pública. Es el cambio de configuración que más seguridad aporta con menos esfuerzo.

¿Cómo genero un par de claves SSH?

Con un solo comando, ssh-keygen -t ed25519, que crea una clave privada y una clave pública.

En su ordenador —no en el servidor— abra un terminal (PowerShell sirve en Windows):

ssh-keygen -t ed25519 -C "martin@portatil-personal"
  • Acepte la ruta propuesta, ~/.ssh/id_ed25519.
  • Ponga una frase de paso. Cifra la clave privada: si le roban el ordenador, la clave sigue siendo inservible.

Se crean dos archivos:

  • id_ed25519 — la clave privada. No se copia a ningún sitio, no se envía por ningún canal y jamás se pega en un ticket.
  • id_ed25519.pub — la clave pública. Es la que se deposita en los servidores.

Muestre la clave pública para copiarla:

cat ~/.ssh/id_ed25519.pub

Cabe en una sola línea y empieza por ssh-ed25519 AAAA….

¿Cómo deposito mi clave pública en el VPS?

De dos formas: pegándola en la tarjeta Claves SSH de la pestaña Acceso y seguridad, o enviándola desde su terminal con ssh-copy-id.

Desde el área de cliente es la vía más sencilla:

  1. Abra Mis servicios y después su VPS.
  2. Vaya a la pestaña Acceso y seguridad.
  3. En la tarjeta Claves SSH, pegue su clave pública. El campo admite una clave por línea y los formatos ssh-rsa, ssh-ed25519 y ecdsa.
  4. Pulse Guardar claves.

El mensaje «Clés SSH mises à jour avec succès.» confirma el registro y la pestaña Historial deja constancia. Esas claves se conservan y se reinyectan automáticamente en cada reinstalación del VPS: no tendrá que repetir la operación.

Desde su terminal, el método clásico también funciona:

ssh-copy-id root@DIRECCION_IP

Compruebe después que la conexión por clave funciona sin cerrar la sesión actual:

ssh root@DIRECCION_IP

Si el servidor ya no pide la contraseña de la cuenta —como mucho la frase de paso de su clave—, todo está en orden.

¿Cómo desactivo la autenticación SSH por contraseña?

Poniendo PasswordAuthentication no en /etc/ssh/sshd_config y recargando el servicio SSH, solo después de comprobar que la conexión por clave funciona.

Dé este paso solo tras comprobar el anterior, y mantenga abierta su sesión SSH actual durante toda la operación.

Edite /etc/ssh/sshd_config:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password

Compruebe la sintaxis antes de recargar el servicio; este comando es el que evita un servidor SSH que se niega a arrancar:

sshd -t
systemctl reload ssh      # Debian, Ubuntu
systemctl reload sshd     # AlmaLinux, Rocky, CentOS Stream

Abra ahora una segunda sesión en otra ventana. Si funciona, puede cerrar la primera con tranquilidad. Si falla, corrija el archivo desde la sesión que dejó abierta.

¿Cómo guardo mi clave privada y doy acceso a otra persona?

Guarde la clave privada donde guarda sus contraseñas y añada únicamente la clave pública de esa persona, en una línea nueva.

  • Guarde una copia de su clave privada donde guarda sus contraseñas: perderla equivale a perder el acceso, salvo que recurra a la consola.
  • Para dar acceso a otra persona, añada su clave pública en una línea nueva. No comparta nunca una clave privada entre varias personas: pierde toda la trazabilidad y ya no puede retirar un acceso individual.
  • Para retirar un acceso, borre la línea correspondiente y guarde de nuevo.

¿Qué hago si pierdo mi clave SSH?

No se queda bloqueado. Abra la consola de rescate desde el área de cliente: le da la pantalla de la máquina sin pasar por SSH. Inicie sesión con la contraseña de administrador, ponga temporalmente PasswordAuthentication yes, deposite una clave nueva y vuelva a cerrarlo.

¿Le ha resultado útil este artículo?