50% de descuento en todos los planes, por tiempo limitado. Desde $2.48/mo
7 min restantes
Seguridad y redes

Cómo cambiar el puerto SSH en Linux: guía rápida paso a paso

Álex Robbins By Álex Robbins 7 min de lectura Actualizado el 7 de enero de 2024
Cómo cambiar el puerto SSH

Si quieres reforzar la seguridad de tu servidor, debes cambiar el puerto de SSH respecto a su valor predeterminado. El número de puerto por defecto es de conocimiento público, lo que lo convierte en un riesgo de seguridad que no puedes ignorar. Para simplificar el proceso, ofrecemos instrucciones paso a paso en lenguaje claro que explican cómo cambiar el puerto de SSH en Linux. La introducción incluye información básica sobre el protocolo SSH y su importancia para la seguridad del servidor. Si ya conoces esos conceptos, puedes saltarla e ir directamente al tutorial.

¿Qué es SSH?

El El protocolo Secure SHell (SSH) es una medida de seguridad que permite a ti y a otros usuarios conectarse a un servidor seguro a través de una red no segura (como Internet). Esto resulta imprescindible cuando planeas administrar un servidor, ya sea un VPS o un servidor dedicado. Necesitas conectarte a tu servidor desde tu equipo, y esa conexión debe pasar por Internet, un entorno que, por definición, no es seguro, por lo que no puedes bajar la guardia. Por eso, el protocolo Secure SHell incluye también varias herramientas de gran valor para establecer y mantener la seguridad del servidor, entre ellas las de autenticación por contraseña y por clave. 

¿Por qué es importante la seguridad de SSH?

Al obtener un servidor dedicado o un VPS, recibirás acceso root completo al sistema, lo que significa que puedes usar el protocolo SSH para conectarte al servidor de forma remota y realizar cualquier configuración que necesites. Aunque SSH no admite gráficos y solo ofrece una interfaz de línea de comandos, sigue siendo el método principal de administración de servidores. Como cualquier otro servicio basado en red, SSH usa un número de puerto predeterminado. Sin embargo, dado que cambiar el puerto SSH es más complicado que en otros protocolos como VNC, muchos usuarios no se molestan en hacerlo. Esto da más oportunidades a atacantes y software malicioso para acceder a tu servidor, ya que saben exactamente qué puerto atacar. Por eso conviene cambiar el puerto SSH predeterminado de una vez por todas. Con este tutorial, puedes hacerlo de forma rápida y sin complicaciones. 

linux-vps Hosting con Linux, sin complicaciones

¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.

Obtén tu Linux VPS

Cómo cambiar el puerto de SSH en Linux

A lo largo de este tutorial usaremos el terminal Linux para introducir los comandos necesarios. Las capturas de pantalla se han tomado en Fedora Server 34, pero la mayoría de los comandos son válidos para todas las distribuciones principales de Linux. Cuando se necesiten comandos específicos de cada distribución, los indicamos por separado. Para seguir estos pasos, debes haber iniciado sesión en tu servidor mediante VNC o SSH. Con esto aclarado, empecemos con el proceso.

Paso 1: Abrir el terminal

Primero, abre el terminal. Si estás usando SSH, ya estarás trabajando en el terminal de forma predeterminada. Si usas un protocolo de escritorio remoto como VNC, puedes abrir el terminal pulsando Ctrl+Alt+T o buscando en el menú de aplicaciones de cualquier distribución Linux. 

Leer también: Generar claves SSH en Windows 10

Paso 2: Editar el archivo de configuración de SSH

A continuación, usaremos el editor de texto nano. Nano permite editar archivos de texto directamente desde la CLI, lo que lo convierte en la opción ideal para las conexiones SSH. Debería estar instalado por defecto; si no es así, consulta el apéndice para ver los comandos de instalación. Lo usaremos para editar el archivo de configuración de SSH: /etc/ssh/sshd_config (si tienes una conexión de escritorio remoto, puedes usar el editor de texto que prefieras). Para ello, introduce el siguiente comando:

sudo nano /etc/ssh/sshd_config

Ahora desplázate hacia abajo hasta encontrar el atributo Port:

[editor nano en el terminal Linux mostrando el archivo de configuración de SSH]
[editor nano en el terminal Linux mostrando el archivo de configuración de SSH]

Paso 3: (Opcional) Cambiar el puerto de SSH por seguridad

Como puedes ver, el puerto predeterminado es el 22, y el # que aparece delante indica que la línea está comentada. Para realizar cualquier cambio, recuerda eliminar el # para descomentarla. Algunos usuarios prefieren usar el puerto SSH 443, que normalmente está reservado para el cifrado SSL, con el fin de despistar a posibles atacantes. Supongamos que quieres cambiar el puerto SSH al 3333; para hacerlo, realiza el siguiente cambio:

From:

#Port 22







To:

Port 3333

De nuevo, asegúrate de que no haya # antes de la palabra Port. Pulsa Ctrl+O para guardar los cambios realizados y Ctrl+X para salir del editor. 

Leer también: Telnet vs. SSH

Paso 4: Reinicia el servicio SSHD para aplicar los cambios

Ya has terminado de configurar los ajustes de SSH, pero para que los cambios surtan efecto, debes reiniciar el servicio SSHD encargado de las conexiones SSH. Para ello, introduce el siguiente comando:

sudo systemctl reload sshd

Paso 5: Configura el firewall

Antes de empezar a disfrutar de la mayor seguridad de tu servidor, debes configurar el firewall para que deje de bloquear el nuevo puerto SSH. Aquí es donde entran en juego los comandos específicos de cada distribución, debido a los firewalls predeterminados que usan las distintas distros. 

Cómo cambiar el puerto SSH en CentOS/RHEL/Fedora

La mayoría de las distros basadas en RHEL, como CentOS, utilizan un conjunto de seguridad llamado SELinux (Security-Enhanced Linux), que actúa, entre otras cosas, como firewall. Antes de continuar, conviene verificar si SELinux está realmente activo. Para comprobarlo, introduce el siguiente comando:

sudo sestatus

Si ves algo como esto, con la primera línea mostrando Estado de SELinux: habilitado significa que tendrás que seguir los pasos indicados a continuación. En caso contrario, puedes saltarte esta sección y pasar directamente al último paso. aquí.

[Comando para comprobar el estado activo/inactivo de SELinux]
[Comando para comprobar el estado activo/inactivo de SELinux]

Ahora que hemos confirmado que SELinux está activo, utilizaremos el paquete semanage . Si estuviera desactivado, puedes usar estas instrucciones para activarlo rápidamente. Usa el siguiente comando para añadir el puerto elegido a la lista de puertos SSH de SELinux (en este ejemplo, el 3333):

sudo semanage port -a -t ssh_port_t -p tcp 3333

Ahora hay que indicarle al firewall que añada el puerto 3333 a tu zona pública, que es el rango registrado de números de puerto abiertos:

sudo firewall-cmd --zone=public --add-port=3333/tcp --permanent

Solo queda reiniciar el servicio del firewall para que los cambios surtan efecto:

sudo firewall-cmd --reload

Con esto concluye el cambio de puerto SSH en CentOS. Puedes probar el nuevo puerto a continuación.

Leer también:  El mejor cliente SSH para Windows en 2022

Cómo cambiar el puerto SSH en Ubuntu/Debian/Kali

Ubuntu y algunas otras distros basadas en Debian tienen el firewall UFW instalado y activo por defecto. Para configurarlo, utiliza el siguiente comando, que debes introducir en la Terminal como los anteriores:

sudo ufw allow 2222/tcp

Con esto concluye el cambio de puerto SSH en Ubuntu. Ahora pasemos a probar la conexión con el nuevo puerto.

Verificar el nuevo puerto SSH

 

Ahora, para comprobar que todo ha funcionado correctamente, haremos una prueba rápida para verificar si el reenvío de puertos SSH se ha realizado con éxito. Si has estado usando SSH hasta este punto, primero debes cerrar la sesión cerrando el shell. Abre una Terminal en tu cliente e introduce el siguiente comando para establecer una conexión SSH:

shh 00.00.00.00 -p 3333

Por supuesto, debes reemplazar 00.00.00 con la dirección IP correcta de tu servidor, que puedes obtener desde el panel de control en el sitio web de tu proveedor.

linux-vps Hosting con Linux, sin complicaciones

¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.

Obtén tu Linux VPS

Otras medidas de seguridad

Hasta aquí llega lo que puedes hacer para mejorar la seguridad SSH de tu servidor, aunque siempre hay más por hacer. Las tareas de seguridad de un administrador no terminan nunca. Aún quedan cosas pendientes, como deshabilitar el acceso de la cuenta root, crear contraseñas más fuertes, etc. Por supuesto, el proveedor de hosting juega el papel más importante a la hora de garantizar la seguridad del servidor, por lo que elegir el correcto es fundamental. Por eso, Cloudzy ejecuta sus servidores Linux VPS en infraestructura de alta seguridad con firewalls por hardware e IA, protección DDoS inteligente y otras salvaguardas propias. Deja de preocuparte y obtén una solución Linux VPS segura con Cloudzy hoy mismo.

Compartir

Más del blog

Sigue leyendo.

Imagen de portada de una guía Cloudzy sobre VPN L2TP con MikroTik, que muestra un portátil conectándose a un rack de servidores a través de un túnel digital azul y dorado con iconos de escudo.
Seguridad y redes

Configuración de MikroTik L2TP VPN (con IPsec): guía para RouterOS (2026)

En esta configuración de MikroTik L2TP VPN, L2TP gestiona el túnel mientras IPsec se encarga del cifrado y la integridad. Combinarlos te da compatibilidad nativa con los clientes sin depender de software de terceros.

Rexa CyrusRexa Cyrus 9 min de lectura
Ventana de terminal con el mensaje de advertencia de SSH sobre un cambio en la identificación del host remoto, con el título de la guía de solución y la imagen de marca Cloudzy sobre fondo verde azulado oscuro.
Seguridad y redes

Advertencia: la identificación del host remoto ha cambiado. Cómo solucionarlo

SSH es un protocolo de red seguro que crea un túnel cifrado entre sistemas. Sigue siendo muy utilizado por desarrolladores que necesitan acceso remoto a equipos sin requerir una interfaz grá

Rexa CyrusRexa Cyrus 10 min de lectura
Ilustración de la guía de resolución de problemas del servidor DNS con símbolos de advertencia y un servidor azul sobre fondo oscuro, para errores de resolución de nombres de Linux
Seguridad y redes

Error temporal en la resolución de nombres: qué significa y cómo solucionarlo

Al usar Linux, es posible que te encuentres con un error de resolución de nombres temporal al intentar acceder a sitios web, actualizar paquetes o ejecutar tareas que requieren conexión a internet.

Rexa CyrusRexa Cyrus 12 min de lectura

¿Listo para desplegar? Desde 2,48 $/mes.

Cloud independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. 14 días de garantía de devolución.