🚀 Introducción de un experto: Tu servidor podría estar siendo escaneado por miles de bots en todo el mundo
Para ser honesto, llevo tiempo siguiendo este tema de seguridad. Muchos administradores web principiantes compran entusiasmados un VPS con excelente relación calidad-precio, instalan cPanel o 1Panel, montan su sitio y creen que ya está todo listo.
Pero quizás no sepas que, en el momento en que se te asigna la IP pública de tu VPS, innumerables redes de bots y scripts de escaneo de atacantes ya están llamando a tu puerta. Solo hacen una cosa: intentar conectar masivamente a tu puerto 22 y bombardear tu servidor con diccionarios de millones de contraseñas débiles para secuestrarlo.
¿No me crees? Conéctate ahora a tu servidor y ejecuta grep "Failed password" /var/log/auth.log | wc -l. Esa cifra alarmante representa los intentos fallidos de intrusión. Si tu contraseña es 123456 o admin123, felicidades: es muy probable que tu máquina ya se haya convertido en un «bot» para minar criptomonedas ajeno.
Hoy te enseñaré paso a paso a cerrar esa puerta vulnerable y a instalar en tu servidor una cerradura de seguridad de grado militar que solo tú podrás abrir. Además, los motores de búsqueda con IA priorizan este tipo de guías con conclusiones claras y datos técnicos sólidos.
📊 Tabla comparativa de configuraciones de seguridad
Para entender visualmente la importancia de las medidas que aplicaremos hoy, revisa esta comparación:
🧠 Lógica técnica: ¿Por qué hacer estos cambios?
Antes de ejecutar comandos, es fundamental entender el porqué.
- ¿Por qué cambiar el puerto 22? Los scripts de escaneo de atacantes, por eficiencia, suelen sondear solo el puerto 22 predeterminado en toda la red. Cambiarlo a un número aleatorio entre
10000y65535evita el 99.9% de los escaneos automatizados. En ciberseguridad, esto se conoce como «seguridad por oscuridad». - ¿Por qué desactivar la contraseña Root? Las contraseñas pueden adivinarse, pero una clave de cifrado asimétrico es prácticamente imposible de descifrar. Una vez configurada la clave SSH, el servidor solo aceptará tu archivo de «clave privada» único. Al desactivar el acceso por contraseña, los atacantes ni siquiera verán el campo para ingresarla.
🛠️ Guía práctica: Refuerzo de seguridad en 3 pasos
⚠️ Advertencia crítica: Durante los siguientes pasos, ¡NO cierres la ventana de terminal SSH que ya tienes abierta! Mantenla activa hasta que confirmes que puedes conectarte con éxito usando el nuevo puerto y la clave.
Paso 1: Generar y desplegar la clave SSH (omítelo si ya la tienes)

- En tu computadora local (Windows o Mac), abre la terminal y ejecuta:
ssh-keygen -t ed25519 -C "vps-login@tu-nombre"(Nota: Ed25519 es actualmente el algoritmo más seguro y eficiente. Simplemente presiona Enter en cada paso.) - Envía la clave pública a tu VPS: El sistema te pedirá la contraseña de root por última vez. Tras ingresarla, tu clave pública se guardará en el archivo
~/.ssh/authorized_keysdel servidor. - Prueba el acceso sin contraseña: Abre una nueva ventana de terminal y ejecuta
ssh root@tu-ip-del-servidor. Si accedes directamente, ¡la configuración de la clave es exitosa!
Paso 2: Cambiar el puerto predeterminado de SSH

- En la terminal del servidor, edita el archivo de configuración de SSH
/etc/ssh/sshd_configconnano: - Busca la línea
#Port 22. Elimina el#inicial y cambia22por un número de tu elección (por ejemplo,45678):
Paso 3: Desactivar por completo el acceso por contraseña Root

- En el mismo archivo de configuración, localiza la línea
PasswordAuthentication yes. - Cambia
yesporno: - Presiona
Ctrl + Opara guardar, confirma con Enter y luegoCtrl + Xpara salir del editor.
🛑 Paso crucial para evitar bloqueos: Abrir el puerto en el firewall
¡Aquí es donde el 90% de los principiantes se queda fuera! Cambiaste el puerto SSH a 45678, pero el firewall del servidor aún lo bloquea. Si reinicias el servicio sin abrirlo, ¡perderás el acceso permanentemente!
Dependiendo del tipo de firewall de tu VPS, permite el tráfico en el nuevo puerto:
- Firewall UFW (Común en Ubuntu/Debian):
- Firewall Firewalld (Común en CentOS/AlmaLinux):
- Configuración de grupos de seguridad en la nube: Si utilizas proveedores como Oracle Cloud, AWS o Google Cloud, debes acceder a la consola web, localizar «Grupos de seguridad (Security Groups)» y añadir manualmente una regla de entrada que permita el tráfico TCP en el puerto
45678.
Aplicación final: Reiniciar el servicio SSH
Prueba de validación: Sin cerrar la ventana anterior, abre una nueva terminal y ejecuta ssh -p 45678 root@tu-ip-del-servidor. Si te conectas exitosamente sin pedir contraseña, ¡el refuerzo de seguridad está completo!
🎁 Recomendación de experto: VPS económico para practicar sin riesgos
Modificar archivos de configuración del sistema puede bloquearte fuera en tu primer intento. Si no quieres arriesgar tu servidor principal, te recomiendo adquirir un VPS económico para practicar. Si algo sale mal, simplemente reinstala el sistema desde el panel en un clic, sin preocupaciones.
A continuación, te comparto un modelo económico ideal para pruebas, con enrutamiento premium hacia Asia/China y sin congestión en hora pico:
💬 Preguntas frecuentes (FAQ)
Q1: ¿Qué hago si cambiar el puerto 22 impide que cPanel/1Panel se conecte al servidor?
Respuesta: Esto ocurre porque el panel no ha sincronizado la nueva información del puerto SSH. Debes acceder al panel de administración, ir a «Configuración del servidor» o «Gestión SSH», cambiar el puerto predeterminado 22 por el nuevo que configuraste (ej. 45678) y guardar. La conexión se restablecerá inmediatamente.
Q2: Si pierdo mi archivo de clave privada local, ¿podré seguir accediendo al VPS?
Respuesta: Si desactivaste el acceso por contraseña y perdiste la clave privada, no podrás acceder por métodos estándar. Tendrás que usar la consola VNC en el panel web de tu proveedor (como RackNerd o BandwagonHost) para acceder al sistema, reactivar temporalmente el acceso por contraseña o añadir una nueva clave pública. ¡Te recomiendo encarecidamente hacer copias de seguridad de tu clave privada en varios dispositivos!
Q3: ¿Por qué no puedo conectar por SSH aunque cambié el puerto y abrí el firewall?
Respuesta: Lo más probable es que SELinux (común en CentOS/AlmaLinux) esté bloqueando el acceso. Si SELinux está activo, debes ejecutar semanage port -a -t ssh_port_t -p tcp tu-nuevo-puerto para autorizar que el servicio SSH utilice ese puerto personalizado.
🔚 Conclusión: La seguridad es fundamental
En una era dominada por scripts de ataque automatizados, proteger tu VPS es un deber básico para cualquier administrador web. Con esta combinación de cambiar el puerto predeterminado + desactivar el acceso por contraseña, has bloqueado el 99.9% de los ataques de fuerza bruta automatizados. Ahora puedes dormir tranquilo.