Respuesta rápida
¿Cómo endurezco SSH en un VPS nuevo?
Para endurecer SSH en un VPS nuevo, cree un usuario sudo, instale su clave pública y luego establezca PasswordAuthentication no, PermitRootLogin no y AllowUsers en un archivo drop-in dentro de /etc/ssh/sshd_config.d/, compruébelo con sshd -t y recargue el servicio. Gloamport Dusk, 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic, cuesta $5.25 al mes con 12 meses.
¿Qué opciones de sshd_config importan más en un VPS nuevo?
| Opción | Valor | Valor por defecto en el manual de sshd_config |
|---|---|---|
PasswordAuthentication | no | yes |
KbdInteractiveAuthentication | no | yes (el archivo de Debian define no) |
PermitRootLogin | no | prohibit-password |
PubkeyAuthentication | yes | yes |
AllowUsers | su usuario sudo | todos los usuarios |
MaxAuthTries | 3 | 6 |
LoginGraceTime | 30 | 120 segundos |
Valores por defecto según sshd_config(5), revisados el 2026-11-10. Los valores de la columna central son las elecciones de esta guía.
¿Por qué endurecer SSH antes que nada?
SSH es el único servicio que todo VPS expone desde el primer minuto, así que es la primera puerta que hay que cerrar. Los intentos de adivinar contraseñas contra el puerto 22 empiezan en cuanto una dirección está activa, y un inicio de sesión solo con clave elimina toda esa clase de ataque.
Root over SSH. Paste a public key at checkout and password login stays switched off; leave it empty and the team sets a temporary root password, shown in your dashboard, that you change at first login. Si pegó una clave al hacer el pedido, el inicio de sesión con contraseña ya está desactivado, y esta guía añade los límites que faltan. Si recibió una contraseña temporal de root, cámbiela en el primer inicio de sesión con passwd antes de hacer cualquier otra cosa. Según la encuesta de Gloamport sobre 10 de noviembre de 2026, 6 de ellos aceptan Monero y no piden correo electrónico al registrarse, así que en esos servidores la clave SSH y el número de cuenta son los únicos secretos que protegen la máquina.
¿Cómo endurezco SSH en un VPS nuevo, paso a paso?
Hágalo en este orden, y mantenga abierta la primera sesión hasta el final.
Cree un usuario normal
Ejecute
addusery añada el usuario al gruposudo, para dejar de trabajar como root.Instale su clave pública para ese usuario
Copie su clave autorizada al nuevo usuario, o ejecute
ssh-copy-id -idesde su propio ordenador. Pruebe el inicio de sesión en una segunda terminal.Escriba un archivo drop-in
Cree
/etc/ssh/sshd_config.d/00-hardening.confcon las opciones de la tabla. Debian incluye esa carpeta al principio de sshd_config, y el primer valor de una opción es el que cuenta, así que el nombre debe ordenarse pronto.Pruebe la configuración
Ejecute
sshd -t. Comprueba el archivo de configuración y las claves sin reiniciar nada. Ejecutesshd -Tpara mostrar los valores efectivos.Recargue el servicio
Reinicie
sshy abra una sesión nueva con el nuevo usuario antes de cerrar la anterior.Compruebe que root y las contraseñas se rechazan
Intente iniciar sesión como root y con una contraseña desde otra terminal. Ambos intentos deben fallar.
¿Cómo creo un usuario sudo y le doy mi clave?
Cree el usuario, añádalo a sudo y copie la clave autorizada de la cuenta root en él. Use su clave de ¿Cómo genero una clave SSH para mi VPS? si todavía no la tiene. Sustituya admin por el nombre de usuario que desee.
adduser admin
usermod -aG sudo admin
mkdir -p /home/admin/.ssh
cp /root/.ssh/authorized_keys /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keys¿Qué va en el archivo drop-in de sshd_config?
Ponga las opciones en un solo drop-in para que una actualización del paquete nunca las sobrescriba. El manual de sshd_config indica que, en la mayoría de palabras clave, se usa el primer valor obtenido, y que el archivo de Debian incluye /etc/ssh/sshd_config.d/*.conf al principio, así que el prefijo 00- hace que el suyo prevalezca sobre archivos como el drop-in propio de una imagen en la nube.
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers admin
MaxAuthTries 3
LoginGraceTime 30sshd -t
sshd -T | grep -E "passwordauthentication|permitrootlogin|allowusers"
systemctl restart ssh¿Debo cambiar el puerto SSH o añadir un cortafuegos?
Un puerto distinto reduce el ruido en los registros, pero no añade seguridad real, así que considérelo opcional. El manual permite fijarlo con Port, y se permiten varias líneas Port. Si lo cambia, abra el nuevo puerto en su cortafuegos antes de reiniciar ssh. Virtualización KVM completa: su propio kernel, sus propias reglas de cortafuegos y su propio cifrado de disco si lo configura, así que use el cortafuegos que más le convenga.
Una vez que SSH esté bien cerrado, las siguientes capas son un túnel privado (¿Cómo configuro WireGuard en un VPS?) y un volumen de datos cifrado (¿Puedo cifrar el disco de un VPS con LUKS?). Dusk, con 2 GB de RAM, cuesta $5.25 al mes con 12 meses; vea la página de precios.
Resumen
- Trabaje como usuario sudo, no como root.
- Defina
PasswordAuthentication noyKbdInteractiveAuthentication no. - Defina
PermitRootLogin noen cuanto funcione el usuario sudo. - Use
AllowUserspara indicar quién puede iniciar sesión. - Ponga las opciones en un drop-in cuyo nombre se ordene primero, como
00-hardening.conf. - Ejecute
sshd -tantes de cada reinicio y mantenga abierta una segunda sesión. - Dusk cuesta $5.25 al mes con 12 meses.
Endurecer SSH en un VPS: preguntas frecuentes
¿Qué significa PermitRootLogin prohibit-password?
Permite a root iniciar sesión con una clave, pero no con contraseña. El manual lo indica como valor por defecto, y no va un paso más allá.
¿Por qué mi cambio en sshd_config no tiene efecto?
El primer valor de una opción es el que cuenta, y Debian incluye primero la carpeta sshd_config.d. Un drop-in anterior puede fijar la opción, así que llame al suyo 00-hardening.conf y compruébelo con sshd -T.
¿Cómo pruebo la configuración sin romper SSH?
Ejecute sshd -t, que solo comprueba el archivo de configuración y las claves. Mantenga una segunda sesión abierta cuando reinicie.
¿Tengo que desactivar el inicio de sesión con contraseña si pegué una clave al hacer el pedido?
En Gloamport, una clave pegada ya deja desactivado el inicio de sesión con contraseña. Definir las opciones en un drop-in lo mantiene así tras las actualizaciones.
¿Qué hace MaxAuthTries?
Limita los intentos de autenticación por conexión. El manual indica un valor por defecto de 6, y esta guía define 3.
Fuentes (3)
- Página del manual sshd_config(5) — Debian (checked 2026-11-10)
- Página del manual sshd(8) (-t y -T) — Debian (checked 2026-11-10)
- Página del manual ssh-copy-id(1) — Debian (checked 2026-11-10)