El puerto por defecto para SSH en los sistemas Linux es el 22. Hay algunas razones por las que puede querer cambiar esto a algún otro número. Si varios servidores comparten la misma dirección IP (detrás de una configuración NAT, por ejemplo) normalmente no puede tenerlos ejecutando SSH en el mismo puerto y esperar acceder a ellos desde fuera de la red.
La otra gran razón es la seguridad. Cambiar el puerto SSH caería bajo la «seguridad a través de la oscuridad», lo que significa que la seguridad no es técnicamente mejorada, pero el puerto SSH ha sido oscurecido y no es tan fácil de acceder para los atacantes. En la práctica, esto significa que los miles de bots que escanean Internet en busca de servidores SSH abiertos son mucho menos propensos a encontrar el suyo.
En este artículo, le llevaremos a través de las instrucciones paso a paso para cambiar el puerto SSH por defecto en Ubuntu Linux y CentOS Linux. Como Ubuntu está basado en Debian, también puedes aplicar las mismas instrucciones a otros sistemas basados en Debian, como Linux Mint. CentOS está basado en Red Hat, por lo que sus instrucciones también pueden extenderse a Fedora y otras distribuciones de Linux similares.
En este tutorial aprenderás:
- Cómo cambiar el puerto SSH en Ubuntu y CentOS Linux
Categoría | Requisitos, Convenciones o versión de software utilizada |
---|---|
Sistema | Ubuntu Linux y CentOS Linux |
Software | OpenSSH |
Otros | Acceso privilegiado a su sistema Linux como root o mediante el comando sudo . |
Convenciones | # – requiere que los comandos de linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso del comando sudo $ – requiere que los comandos de linux dados se ejecuten como unusuario privilegiado |
Cambiar el puerto SSH en Ubuntu o CentOS
Suscríbase a la RSS y a la NEWSLETTER y reciba las últimas noticias sobre Linux, trabajos, consejos profesionales y tutoriales.
Abra un terminal de línea de comandos y siga los siguientes pasos para configurar el puerto SSH en Ubuntu y otros sistemas basados en Debian, así como en CentOS y otros sistemas basados en Red Hat.
- Comience abriendo el archivo de configuración
/etc/ssh/sshd_config
con nano o su editor de texto preferido.$ sudo nano /etc/ssh/sshd_config
- Busca la línea
#Port 22
. Tendremos que descomentar esta línea y cambiar el número a nuestro número de puerto deseado. Para este ejemplo, cambiaremos el número de puerto a2222
.From:#Port 22To:Port 2222
- Guarda los cambios que has hecho en este archivo y sal. Termina mi recarga del servicio sshd.
$ sudo systemctl reload sshd
- Para asegurarte de que todo funciona, puedes intentar hacer SSH en el nuevo puerto. Necesitarás usar la opción
-p
para instruir al cliente a usar algún otro puerto que no sea el 22 por defecto.$ ssh -p 2222 user@localhost
Configuración adicional para Ubuntu
Ubuntu tiene instalado por defecto el firewall UFW. Si está ejecutando el cortafuegos UFW y necesita permitir el tráfico al nuevo puerto, utilice el siguiente comando. Alternativamente, echa un vistazo a nuestra guía completa sobre el uso de UFW firewall.
$ sudo ufw allow 2222/tcp
Configuración adicional para CentOS
CentOS no utiliza UFW por defecto, pero si por casualidad lo tienes instalado, asegúrate de utilizar también el comando UFW de arriba.
CentOS utiliza SELinux (Security Enhanced Linux module) y firewalld por defecto. Tendremos que añadir una excepción para permitir el acceso SSH en el puerto recién configurado.
Pensamientos finales
En esta guía, vimos cómo cambiar el puerto SSH por defecto en Ubuntu y CentOS, así como en distribuciones similares. Seguir estos pasos ofrecerá algo de seguridad a través de la oscuridad y, si no hay nada más, cortará los intentos de intrusión lanzados constantemente por los bots de todo el mundo.