SSH es la puerta principal de tu servidor, y en Internet las puertas se prueban miles de veces al día. Basta con levantar una máquina nueva y mirar los registros a las pocas horas: verás intentos de acceso desde medio mundo probando usuarios comunes y contraseñas de diccionario. No es personal, es automático.
La buena noticia es que tres medidas eliminan la mayor parte del riesgo, y ninguna es complicada.
Primera: claves en lugar de contraseñas
Una clave SSH es un par de ficheros: uno público que vive en el servidor y uno privado que no sale nunca de tu ordenador. La ventaja no es solo la longitud, es que el secreto no viaja: no hay nada que un atacante pueda adivinar por fuerza bruta.
Genera tu par con ssh-keygen -t ed25519, copia la pública al servidor, comprueba que entras con ella, y solo entonces desactiva la autenticación por contraseña. Ese orden importa: desactivar antes de comprobar es la forma más rápida de quedarte fuera de tu propia máquina.
Si mantienes contraseñas, hazlo bien
A veces la contraseña es necesaria, por ejemplo porque tienes que poder entrar desde una consola web sin tu clave. En ese caso, dos reglas: que sea larga, de veinte caracteres o más, y que no lleve símbolos exóticos. Las consolas remotas traducen los caracteres según la distribución de teclado del cliente, así que un símbolo que requiere tecla mayúsculas puede llegar al servidor convertido en otro. Es una fuente de frustración clásica: escribes la contraseña correcta y el servidor recibe otra.
Segunda: un puerto alternativo
Cambiar el puerto 22 por otro no es seguridad real, y quien te diga lo contrario está exagerando. Un escaneo de puertos encuentra tu SSH en cualquier puerto en pocos segundos.
Pero sí tiene dos beneficios concretos. El primero es que reduce drásticamente el ruido: los bots automáticos que barren Internet solo prueban el 22, así que tus registros pasan de miles de intentos diarios a casi ninguno, y cuando aparezca uno real lo verás.
El segundo es más práctico de lo que parece: algunas redes corporativas y algunos operadores de tránsito filtran el puerto 22 por política. Tener un puerto alternativo abierto te da un camino cuando el estándar no llega. Nuestra recomendación es mantener los dos.
Tercera: expulsar a quien insiste
Instala fail2ban o un equivalente. Vigila los registros, y cuando una dirección falla varias veces seguidas, la bloquea temporalmente en el cortafuegos. Es una medida barata que corta en seco los ataques de fuerza bruta lentos, esos que prueban tres contraseñas por hora para no llamar la atención.
El detalle que casi nadie revisa
Todo lo anterior es lo que sale en cualquier guía. Esto es lo que se olvida: revisa qué usuarios pueden entrar de verdad.
Cada cuenta con acceso SSH es una puerta más. La cuenta que creaste para un desarrollador que ya no trabaja contigo, el usuario de una aplicación que ya no usas, la clave pública de un portátil que perdiste. Un sshd -T te muestra la política efectiva del servidor, y revisar los ficheros de claves autorizadas de cada usuario lleva cinco minutos.
Menos usuarios, menos superficie. Y desactiva el acceso directo de root con contraseña: entra con tu usuario y escala con sudo, así queda rastro de quién hizo qué.
Un aviso sobre las pruebas
Antes de recargar la configuración de SSH, ejecuta siempre sshd -t para validar la sintaxis. Y si estás trabajando en remoto, abre una segunda sesión antes de aplicar cambios: si algo sale mal, esa sesión abierta es tu salvavidas mientras lo arreglas.
Cómo lo entregamos nosotros
Nuestros VPS en Andorra se entregan con acceso root, contraseñas alfanuméricas que no se rompen en las consolas web, y dos puertos SSH configurados de fábrica precisamente por el asunto del filtrado en tránsito. Y como cualquier endurecimiento sale mal alguna vez, el addon de copias de seguridad te deja volver atrás en minutos.