Cómo cambiar el puerto SSH por defecto en tu VPS (cPanel, Plesk, DirectAdmin)
¿Por qué deberías cambiar el puerto SSH por defecto?
El puerto 22 es la puerta de entrada estándar para SSH (Secure Shell) en prácticamente todos los servidores del mundo. Esto lo convierte en el objetivo número uno de ataques automatizados, bots y scripts maliciosos que escanean internet constantemente en busca de servidores vulnerables. Cambiar el puerto SSH por defecto es una de las medidas de seguridad más básicas y efectivas que puedes implementar en tu VPS, ya que reduce drásticamente el ruido de intentos de acceso no autorizado.
Cuando dejas el puerto 22 activo, los atacantes pueden intentar ataques de fuerza bruta, probando miles de combinaciones de usuario y contraseña. Al cambiar el puerto a un número no estándar, como el 2222 o el 49213, los escáneres automáticos que buscan el puerto 22 ya no encontrarán tu servicio SSH, lo que añade una capa extra de protección sin necesidad de configuraciones complejas.
Además, cambiar el puerto SSH es un requisito en muchas guías de endurecimiento de servidores y políticas de cumplimiento de seguridad. No es una solución mágica que te haga invulnerable, pero combinado con autenticación por llaves, fail2ban y contraseñas robustas, forma parte de un enfoque de seguridad VPS en capas.
En este artículo te explicaré paso a paso cómo realizar este cambio en los tres paneles de control más populares: cPanel, Plesk y DirectAdmin. También cubriremos qué hacer después del cambio, cómo solucionar problemas comunes y responderemos a las preguntas más frecuentes.
Antes de empezar: preparativos y consideraciones importantes
Haz una copia de seguridad de tu configuración
Antes de tocar cualquier archivo de configuración, es fundamental que hagas una copia de seguridad del archivo /etc/ssh/sshd_config. Este archivo contiene toda la configuración del servidor SSH y un error aquí podría dejarte sin acceso remoto.
Para hacer la copia, accede a tu VPS por SSH (todavía en el puerto 22) y ejecuta:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Comprueba que tienes acceso alternativo
Es muy recomendable tener un segundo método de acceso al servidor antes de cambiar el puerto. Esto puede ser:
- Acceso por consola web que ofrecen la mayoría de proveedores de VPS (KVM, VNC, etc.).
- Un segundo usuario con permisos sudo.
- Un túnel VPN ya configurado.
De esta forma, si algo sale mal y no puedes conectarte por SSH, podrás revertir los cambios desde la consola alternativa.
Elige un puerto adecuado
El nuevo puerto debe estar entre 1024 y 65535. Evita puertos ya utilizados por otros servicios como:
- 80 (HTTP)
- 443 (HTTPS)
- 3306 (MySQL)
- 5432 (PostgreSQL)
Un buen rango es entre 2200 y 5000, o números altos como 48213. Puedes consultar los puertos en uso con:
sudo netstat -tulpn | grep LISTEN
Elige un número que recuerdes fácilmente pero que no sea obvio como 2222 o 22222. Algo como 48213 es mucho más difícil de adivinar.
Cambiar puerto SSH en cPanel
cPanel es uno de los paneles de control más utilizados en hosting compartido y VPS. Sin embargo, la gestión del puerto SSH normalmente se realiza a nivel de servidor, no desde la interfaz gráfica de cPanel.
Método 1: Editar manualmente el archivo sshd_config
- Conéctate a tu VPS por SSH como usuario root o con un usuario con permisos sudo.
- Abre el archivo de configuración con un editor de texto. Por ejemplo, con nano:
sudo nano /etc/ssh/sshd_config
- Busca la línea que dice
#Port 22. En la mayoría de las instalaciones, esta línea está comentada, lo que significa que SSH usa el puerto por defecto (22). - Elimina el símbolo
#al principio de la línea y cambia el número 22 por el puerto que hayas elegido. Por ejemplo:
Port 2222
- Guarda el archivo con
Ctrl + Oy luegoEnter. Sal de nano conCtrl + X. - Ahora necesitas reiniciar el servicio SSH para aplicar los cambios. El comando puede variar según el sistema operativo:
- CentOS, AlmaLinux, Rocky Linux:
sudo systemctl restart sshd - Ubuntu, Debian:
sudo systemctl restart ssh
- Verifica que el servicio se ha reiniciado correctamente:
sudo systemctl status sshd
Deberías ver un mensaje indicando que el servicio está activo.
Método 2: Usar la línea de comandos con sed
Si prefieres un método más rápido, puedes usar el comando sed para reemplazar el puerto directamente:
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
Luego reinicia el servicio como se explicó anteriormente.
Configurar el firewall en cPanel
cPanel suele tener un firewall integrado llamado cPHulk y también puede usar CSF (ConfigServer Security & Firewall). Debes permitir el nuevo puerto en ambos:
- CSF: Edita el archivo
/etc/csf/csf.confy busca la líneaTCP_IN. Añade el nuevo puerto, por ejemplo:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222"
Luego aplica los cambios con:
sudo csf -r
- cPHulk: Puedes deshabilitarlo temporalmente si te da problemas, pero normalmente no bloquea puertos.
Cambiar puerto SSH en Plesk
Plesk ofrece una interfaz gráfica más amigable para gestionar el servidor. Aunque el cambio de puerto SSH se hace también en el archivo de configuración, Plesk tiene algunas herramientas adicionales.
Método 1: Desde la interfaz de Plesk
- Inicia sesión en tu panel de Plesk como administrador.
- Ve a Herramientas y configuración en el menú lateral.
- Busca la sección Seguridad y haz clic en Configuración del firewall.
- Añade una regla para permitir el tráfico en el nuevo puerto TCP que has elegido.
- Ahora necesitas editar el archivo
sshd_config. Plesk no tiene una opción directa para esto, así que tendrás que usar la terminal. Puedes acceder a la terminal desde Plesk:- Ve a Herramientas y configuración.
- En la sección Herramientas del servidor, haz clic en Terminal.
- Una vez en la terminal, ejecuta los comandos que ya hemos visto:
sudo nano /etc/ssh/sshd_config
- Cambia la línea
#Port 22porPort 2222(o el puerto que prefieras). - Guarda y cierra el archivo.
- Reinicia el servicio SSH:
sudo systemctl restart sshd
Método 2: Edición directa desde la terminal
Si tienes acceso SSH directo (todavía por el puerto 22), puedes hacer el cambio desde tu máquina local:
- Conéctate por SSH.
- Edita el archivo como antes.
- Reinicia el servicio.
Configurar el firewall de Plesk
Plesk utiliza su propio firewall basado en iptables. Desde la interfaz web:
- Ve a Herramientas y configuración.
- Haz clic en Configuración del firewall.
- Añade una nueva regla:
- Tipo de tráfico: TCP
- Puerto: Tu nuevo puerto SSH (ej. 2222)
- Acción: Permitir
- Guarda los cambios.
También puedes hacerlo desde la línea de comandos:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo service iptables save
Cambiar puerto SSH en DirectAdmin
DirectAdmin es otro panel popular, conocido por su simplicidad. El proceso de cambio de puerto SSH sigue el mismo patrón que en los otros paneles.
Método 1: Editar sshd_config manualmente
- Conéctate por SSH a tu servidor.
- Abre el archivo de configuración:
sudo nano /etc/ssh/sshd_config
- Busca la línea
#Port 22y cámbiala por tu nuevo puerto:
Port 2222
- Guarda el archivo y reinicia el servicio SSH. En DirectAdmin, el comando suele ser:
sudo systemctl restart sshd
Método 2: Usar el panel de DirectAdmin
DirectAdmin no tiene una opción específica para el puerto SSH en su interfaz, pero puedes gestionar el firewall desde el panel:
- Inicia sesión en DirectAdmin como administrador.
- Ve a Administración de servidor.
- Haz clic en Firewall.
- Añade una regla para permitir el nuevo puerto TCP.
Configurar el firewall en DirectAdmin
DirectAdmin puede usar CSF o iptables directamente. Si usas CSF:
sudo nano /etc/csf/csf.conf
Busca TCP_IN y añade el puerto:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222"
Aplica los cambios:
sudo csf -r
Si usas iptables directamente:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo service iptables save
Después del cambio: verificar y conectar
Probar la nueva conexión SSH
Antes de cerrar tu sesión actual, abre una nueva terminal y prueba conectarte al nuevo puerto:
ssh usuario@tu_ip -p 2222
Si la conexión es exitosa, puedes cerrar la sesión antigua con seguridad. Si no funciona, no cierres la sesión actual y revisa los pasos anteriores.
Actualizar la configuración de tus clientes SSH
Si usas aplicaciones como PuTTY, FileZilla, WinSCP o cualquier cliente SSH, deberás actualizar el puerto en sus configuraciones. También si tienes scripts de automatización o conexiones desde otras máquinas.
Configurar el acceso sin contraseña (llaves SSH)
Este es el momento perfecto para configurar la autenticación por llaves si aún no lo has hecho. Esto elimina la necesidad de contraseñas y hace tu servidor mucho más seguro:
- Genera una llave en tu máquina local:
ssh-keygen -t rsa -b 4096 - Copia la llave pública al servidor:
ssh-copy-id -p 2222 usuario@tu_ip - Desactiva la autenticación por contraseña en
/etc/ssh/sshd_config:PasswordAuthentication no - Reinicia SSH.
Solución de problemas comunes
No puedo conectarme después del cambio
Si has reiniciado el servicio SSH y no puedes conectar, verifica:
- ¿El servicio está corriendo? Ejecuta
sudo systemctl status sshd. - ¿El firewall permite el puerto? Comprueba con
sudo ufw status(Ubuntu) osudo iptables -L -n. - ¿El puerto está escuchando? Ejecuta
sudo netstat -tulpn | grep sshd. Deberías ver tu nuevo puerto. - ¿Has probado desde otra red? A veces los firewalls de red bloquean puertos no estándar.
El servicio SSH no se reinicia
Si recibes un error al reiniciar, puede deberse a:
- Sintaxis incorrecta en el archivo
sshd_config. Ejecutasudo sshd -tpara verificar la sintaxis. - Puerto ya en uso. Elige otro número.
- SELinux (en CentOS/RHEL). Puedes deshabilitarlo temporalmente o añadir la regla adecuada.
¿Debo mantener el puerto 22 abierto?
No es necesario. Una vez que hayas configurado el nuevo puerto, puedes cerrar el 22 en el firewall. Sin embargo, algunos servicios como rsync o herramientas de backup pueden requerir el puerto 22. En ese caso, puedes mantenerlo abierto solo para IPs específicas.
Preguntas frecuentes (FAQ)
¿Es realmente necesario cambiar el puerto SSH?
No es obligatorio, pero es altamente recomendable. Reduce significativamente los ataques automatizados y el ruido en los logs del sistema. Es una medida sencilla con gran impacto en la seguridad VPS.
¿Qué puerto SSH debo elegir?
Cualquier puerto entre 1024 y 65535 que no esté en uso. Evita números predecibles como 2222 o 22222. Cuanto más alto y aleatorio, mejor.
¿Afecta esto a otros servicios como FTP o SFTP?
SFTP usa SSH por defecto, así que también cambiará de puerto. FTP (puerto 21) no se ve afectado. Deberás actualizar tus clientes SFTP con el nuevo puerto.
¿Puedo tener SSH en dos puertos a la vez?
Sí, puedes configurar múltiples puertos añadiendo varias líneas Port en sshd_config. Esto es útil durante la transición.
¿Cómo cambio el puerto SSH en Syspanel?
Si usas Syspanel (anteriormente conocido como HestiaCP), el proceso es similar, pero debes tener en cuenta que el puerto de acceso al panel es el 2106. Para cambiar el puerto SSH en Syspanel, edita el archivo sshd_config como hemos explicado y reinicia el servicio. No olvides actualizar el firewall de Syspanel (generalmente CSF) para permitir el nuevo puerto.
¿Qué más puedo hacer para proteger mi VPS?
Además de cambiar el puerto SSH:
- Usa autenticación por llaves.
- Desactiva el acceso root por contraseña.
- Instala fail2ban para bloquear IPs maliciosas.
- Mantén el sistema actualizado.
- Usa un firewall configurado correctamente.
- Implementa un VPN para accesos administrativos.
Conclusión
Cambiar el puerto SSH por defecto es un paso fundamental en la configuración segura de cualquier VPS. Aunque el proceso es técnico, con esta guía paso a paso deberías poder realizarlo sin problemas en cPanel, Plesk o DirectAdmin. Recuerda siempre hacer una copia de seguridad, probar la nueva conexión antes de cerrar la actual y actualizar tus clientes SSH.
Este cambio, combinado con otras prácticas de seguridad VPS, te dará tranquilidad y protegerá tu servidor de la mayoría de ataques automatizados. No esperes a ser víctima de un ataque; actúa hoy y refuerza la seguridad de tu servidor.
Si tienes alguna duda, déjala en los comentarios y estaremos encantados de ayudarte. ¡Tu servidor seguro es nuestra prioridad!
