Cómo cambiar el puerto SSH en Ubuntu
Introducción
Secure Shell (SSH) es un protocolo de red criptográfico que permite a los usuarios acceder y gestionar sistemas remotos de forma segura a través de una red no segura. Por defecto, SSH opera en el puerto 22. Sin embargo, hay varias razones convincentes por las que podrías querer cambiar este puerto predeterminado en tu sistema Ubuntu:
-
Seguridad mejorada: Cambiar el puerto SSH predeterminado puede ayudar a proteger tu sistema de bots y scripts automatizados que escanean rutinariamente conexiones abiertas en el puerto 22.
-
Reducción de ruido: Al cambiar a un puerto no estándar, disminuirás significativamente el número de intentos de inicio de sesión automatizados registrados en tus logs, facilitando la monitorización de amenazas reales.
-
Requisitos de cumplimiento: Algunas políticas de seguridad o estándares de cumplimiento pueden requerir el uso de puertos no estándar para protocolos de acceso remoto.
-
Restricciones del ISP: En algunos casos, los Proveedores de Servicios de Internet (ISP) pueden bloquear o limitar el tráfico en puertos comunes como el 22 para prevenir el alojamiento de servidores en conexiones residenciales.
Aunque cambiar el puerto SSH no es una medida de seguridad completa por sí sola, puede ser una parte efectiva de una estrategia de seguridad más amplia, a menudo referida como "seguridad por oscuridad". Este tutorial te guiará a través del proceso de cambiar el puerto SSH en tu sistema Ubuntu, ayudándote a dar un paso hacia un entorno de servidor más seguro.
Requisitos previos
Antes de comenzar el proceso de cambiar el puerto SSH, asegúrate de tener lo siguiente:
-
Sistema Ubuntu: Esta guía es específica para Ubuntu, aunque los pasos pueden ser similares para otras distribuciones Linux.
-
Acceso root o sudo: Necesitarás privilegios administrativos para modificar las configuraciones del sistema.
-
Conocimientos básicos de terminal: Es necesaria la familiaridad con operaciones básicas de línea de comandos de Linux.
-
Acceso SSH: Asegúrate de tener actualmente acceso SSH a tu sistema.
-
Método de conexión alternativo: Es crucial tener un método alternativo para acceder a tu servidor (como acceso a la consola) en caso de que algo salga mal durante el proceso.
Pasos para cambiar el puerto SSH
1. Hacer una copia de seguridad del archivo de configuración SSH
Siempre es una buena práctica crear una copia de seguridad antes de modificar cualquier archivo de configuración del sistema. Para hacer una copia de seguridad de tu archivo de configuración SSH, utiliza el siguiente comando:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Este comando crea una copia del archivo de configuración original con una extensión .bak
. Si algo sale mal, puedes revertir fácilmente a esta copia de seguridad.
2. Editar el archivo de configuración SSH
Ahora, vamos a abrir el archivo de configuración SSH para editarlo. Puedes usar cualquier editor de texto con el que te sientas cómodo. En este ejemplo, usaremos nano
:
sudo nano /etc/ssh/sshd_config
Este comando abre el archivo sshd_config
en el editor de texto nano con privilegios de root.
3. Cambiar el número de puerto
Una vez que tengas el archivo sshd_config
abierto en tu editor de texto, busca una línea que diga #Port 22
. Esta línea normalmente está comentada (indicado por el símbolo #
al principio).
Para cambiar el puerto SSH:
- Elimina el
#
para descomentar la línea. - Cambia
22
por el número de puerto que desees.
Por ejemplo, si quieres cambiar el puerto a 2222, la línea debería verse así:
Port 2222
Elige un número de puerto entre 1024 y 65535 para evitar conflictos con servicios conocidos. También asegúrate de que el puerto que elijas no esté ya en uso por otro servicio en tu sistema.
4. Guardar y salir del archivo de configuración
Después de hacer el cambio:
- Si estás usando nano, presiona
Ctrl + X
, luegoY
, y finalmenteEnter
para guardar y salir. - Si estás usando vim, presiona
Esc
, escribe:wq
, y presionaEnter
.
5. Ajustar la configuración del cortafuegos
Si estás usando UFW (Uncomplicated Firewall), que es común en sistemas Ubuntu, necesitas permitir conexiones en el nuevo puerto SSH. Ejecuta estos comandos:
sudo ufw allow 2222/tcp
sudo ufw reload
Reemplaza 2222
con el número de puerto que hayas elegido.
Si estás usando un cortafuegos diferente, consulta su documentación para aprender cómo abrir un nuevo puerto.
6. Reiniciar el servicio SSH
Para aplicar los cambios, reinicia el servicio SSH con este comando:
sudo systemctl restart sshd
Esto reiniciará el demonio SSH con la nueva configuración.
7. Probar el nuevo puerto SSH
Antes de cerrar tu sesión SSH actual, es crucial probar si puedes conectarte usando el nuevo puerto. Abre una nueva ventana de terminal e intenta conectarte con el siguiente comando:
ssh -p 2222 usuario@tu_ip_de_servidor
Reemplaza 2222
con tu nuevo número de puerto, usuario
con tu nombre de usuario real, y tu_ip_de_servidor
con la dirección IP de tu servidor.
Si la conexión es exitosa, puedes proceder a cerrar tu antigua sesión SSH y usar el nuevo puerto para futuras conexiones.
Solución de problemas
Si encuentras problemas después de cambiar tu puerto SSH, considera lo siguiente:
-
Conexión rechazada: Asegúrate de que el nuevo puerto esté abierto en la configuración de tu cortafuegos.
-
Puerto ya en uso: Si recibes un error de que el puerto ya está en uso, elige un número de puerto diferente.
-
El servicio SSH no arranca: Comprueba el estado del servicio SSH usando
sudo systemctl status sshd
. Busca cualquier mensaje de error en la salida. -
Revertir cambios: Si no puedes conectarte en absoluto, usa tu método de acceso de respaldo (como acceso a la consola) y restaura el archivo de configuración de respaldo:
sudo cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config sudo systemctl restart sshd
Preguntas frecuentes (FAQ)
1. ¿Es realmente necesario cambiar el puerto SSH?
Aunque no es absolutamente necesario, cambiar el puerto SSH puede reducir significativamente los ataques automatizados y el ruido en los logs. Sin embargo, debería ser parte de una estrategia de seguridad más amplia, no la única medida tomada.
2. ¿Qué número de puerto debería elegir?
Elige un número de puerto entre 1024 y 65535 para evitar conflictos con servicios conocidos. Evita puertos SSH alternativos comúnmente usados como 2222 o 22222, ya que estos son a menudo objetivo de escaneos más sofisticados.
3. ¿Cambiar el puerto SSH afectará mis conexiones actuales?
Cambiar el puerto no afectará tu sesión SSH actual. Sin embargo, todas las nuevas conexiones necesitarán usar el nuevo número de puerto.
4. ¿Cómo me conecto a SSH después de cambiar el puerto?
Usa la bandera -p
seguida del nuevo número de puerto al conectarte. Por ejemplo:
ssh -p 2345 usuario@tu_ip_de_servidor
5. ¿Puedo cambiar el puerto SSH de vuelta a 22 si es necesario?
Sí, puedes cambiar el puerto de vuelta a 22 o cualquier otro número siguiendo el mismo proceso descrito en esta guía.
6. ¿Cambiar el puerto SSH interferirá con SFTP o SCP?
SFTP y SCP usan el mismo puerto que SSH. Necesitarás especificar el nuevo puerto cuando uses estos servicios también.
7. ¿Es seguro usar un puerto alternativo conocido como 2222?
Aunque usar puertos como 2222 es mejor que el predeterminado 22, aún son comúnmente escaneados por atacantes. Es mejor elegir un número de puerto más único.
8. ¿Qué pasa si olvido el nuevo puerto SSH?
Siempre guarda un registro de tu nuevo puerto SSH en un lugar seguro. Si lo olvidas, es posible que necesites usar métodos de acceso alternativos (como acceso a la consola) para recuperarlo o restablecerlo.
9. ¿Cambiar el puerto SSH afecta el rendimiento del servidor?
Cambiar el puerto SSH tiene un impacto insignificante en el rendimiento del servidor. Los beneficios en términos de reducción de ataques automatizados generalmente superan cualquier consideración mínima de rendimiento.
10. ¿Debería informar a mi equipo u otros usuarios sobre el cambio de puerto SSH?
Sí, es crucial informar a todos los usuarios autorizados sobre el cambio de puerto SSH. Proporciónales los nuevos detalles de conexión para asegurar el acceso continuo.