Configurar la autenticación mediante clave SSH en el servidor

Guía para crear y gestionar claves SSH para el acceso seguro al servidor.

La autenticación mediante clave SSH es la forma más fiable de conectarte a tu VPS o a tu servidor dedicado. La clave pública se coloca en el servidor, mientras que la clave privada permanece a salvo en tu equipo local — esto elimina por completo la interceptación de contraseñas y mejora considerablemente la seguridad.

Generar un par de claves

  1. Abre un terminal en tu equipo (macOS/Linux — Terminal, Windows — PowerShell o Git Bash).
  2. Ejecuta el comando para generar las claves (se recomienda Ed25519):
ssh-keygen -t ed25519 -C "your_email@example.com"

Nota

Si tu sistema no es compatible con Ed25519 (sistema operativo muy antiguo), usa RSA: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  1. La herramienta te sugerirá una ubicación de guardado (por defecto: ~/.ssh/id_ed25519 — pulsa Intro).
  2. Introduce una frase de contraseña (opcional) o déjala en blanco (pulsa Intro dos veces).
  3. Las claves se crearán en la carpeta ~/.ssh:
    • id_ed25519 — clave privada (¡no la compartas nunca!).
    • id_ed25519.pub — clave pública (esta es la que va al servidor).

Copiar la clave pública al servidor

  1. Conéctate al servidor via SSH (por ahora con contraseña):
ssh root@your_server_ip
  1. Crea la carpeta .ssh si no existe:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
  1. Añade la clave pública a authorized_keys:
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com" >> ~/.ssh/authorized_keys

Método recomendado con un único comando desde tu equipo local:

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@your_server_ip

Configurar el servidor OpenSSH

  1. Abre el archivo de configuración del servidor SSH:
nano /etc/ssh/sshd_config
  1. Asegúrate de que las siguientes opciones estén presentes (descoméntalas o añádelas):
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no          # Recomendado: deshabilitar el acceso por contraseña
  1. Guarda el archivo (Ctrl+O → Intro → Ctrl+X).
  2. Establece los permisos correctos en los archivos:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chown root:root ~/.ssh/authorized_keys
  1. Reinicia el servicio SSH:
systemctl restart sshd

Configurar el cliente SSH (para mayor comodidad)

  1. Crea o edita el archivo ~/.ssh/config en tu equipo local:
Host my-server
    HostName your_server_ip
    User root
    IdentityFile ~/.ssh/id_ed25519
    Port 22
  1. Establece los permisos:
chmod 600 ~/.ssh/config

A partir de ahora puedes conectarte simplemente con:

ssh my-server

Verificación

Intenta conectarte sin contraseña:

ssh root@your_server_ip

Si accedes sin que se te pida contraseña — la autenticación por clave SSH está configurada correctamente.

Nuestros servicios y productos

HostingFunciona en discos NVMe ultrarrápidos. Apto para sitios web de cualquier complejidad.
Pedir
VPSParámetros ajustables y configuración flexible del SO. Administración gratuita incluida.
Pedir
Servidores dedicadosDisponibles diversas configuraciones Supermicro con procesadores Intel y AMD.
Pedir

Ayuda

¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos