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
- Abre un terminal en tu equipo (macOS/Linux — Terminal, Windows — PowerShell o Git Bash).
- 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"
- La herramienta te sugerirá una ubicación de guardado (por defecto:
~/.ssh/id_ed25519— pulsa Intro). - Introduce una frase de contraseña (opcional) o déjala en blanco (pulsa Intro dos veces).
- 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
- Conéctate al servidor via SSH (por ahora con contraseña):
ssh root@your_server_ip
- Crea la carpeta
.sshsi no existe:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
- 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
- Abre el archivo de configuración del servidor SSH:
nano /etc/ssh/sshd_config
- 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
- Guarda el archivo (Ctrl+O → Intro → Ctrl+X).
- Establece los permisos correctos en los archivos:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chown root:root ~/.ssh/authorized_keys
- Reinicia el servicio SSH:
systemctl restart sshd
Configurar el cliente SSH (para mayor comodidad)
- Crea o edita el archivo
~/.ssh/configen tu equipo local:
Host my-server
HostName your_server_ip
User root
IdentityFile ~/.ssh/id_ed25519
Port 22
- 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
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!