Cambiar el puerto SSH en Linux: Ubuntu, Debian, Almalinux, RHEL

Categoría:  Sysadmin
Fecha: 01/05/2024
En otro post en este blog hicimos una guía extensa sobre el uso de SSH para la administración de servidores Linux o incluso para conectarnos a nuestro hosting, ya que nuestros hostings elásticos permiten conexión SSH.

En este caso vamos a ver como cambiar el puerto SSH en un servidor con Linux.

Te preguntarás, ¿para qué quieres cambiar el puerto SSH en Linux? Pues normalmente se hace por motivos de seguridad, ya que, si el atacante no conoce el puerto para conectarse por SSH a nuestro servidor, difícilmente va a poder hacer un ataque de fuerza bruta contra él para intentar adivinar la contraseña.

Recordemos que los ataques de fuerza brutal, no solo son un problema para la seguridad, sino que en muchos casos son un problema para el rendimiento, ya que al probar contraseñas constantemente se consumen recursos.
Si necesitas ayuda con tu servidor Linux, puedes contratar nuestros servicios de administración de servidores Linux y nuestros sysadmins te ayudaran en lo que necesites.

Ahora que ya hemos hablado de cuál es el fin de cambiar el puerto SSH en un servidor Linux, vamos a ver como cambiarlo.

Yo voy a utilizar el editor NANO, esto es una preferencia personal, ya que a mí me encanta este editor de texto.

Si utilizamos OpenSSH Server para dar acceso a SSH en nuestro servidor, lo único que tenemos que hacer es editar el archivo sshd_config, y podemos hacerlo utilizando nuestro editor de texto, en mi caso NANO:
nano /etc/ssh/sshd_config

Y esto nos abrirá el editor con el archivo para editar:

editar sshd_config Linux

Debemos buscar la línea “#Port 22” en el editor.

cambiar puerto 22 ssh linux

Después tendremos que cambiar el 22 por el puerto que queramos, por ejemplo, el 3625 (aleatorio, pero sin coincidir con otro servicio) y después borramos la almohadilla # del principio.

Tendría que quedar algo similar a esto:

cambiar puerto ssh Linux

Ahora debemos guardar los cambios en el archivo sshd_config. En el caso del editor NANO, simplemente con la combinación de teclas CONTROL + X habremos guardado.

Solo nos faltaría reiniciar el servicio SSH para que los cambios tengan efecto en el servicio.
Ten en cuenta que al reiniciar el servicio SSH, al estar conectados por SSH y haber cambiado el puerto, tendremos que modificar el puerto en nuestro cliente SSH antes de volver a conectarnos.

Existen dos casos diferentes dependiendo de la distro Linux que utilicemos en nuestro servidor.

En servidores Linux con Ubuntu o con cualquier distro basada en Debian debemos utilizar el siguiente comando para reiniciar el servicio SSH:
sudo systemctl restart ssh

En servidores Linux que ejecutan distribuciones Linux basadas en RHEL como AlmaLinux, Fedora, Arch o similares, debemos utilizar el siguiente comando para reiniciar el servicio SSH:
sudo systemctl restart sshd

Una vez ejecutado el comando, dependiendo de la distribución Linux vamos a ser desconectados o no.
En cualquier caso, para volver a conectarnos a nuestro servidor por SSH debemos cambiar el puerto SSH predeterminado:

cambiar puerto ssh putty

En Raiola Networks somos expertos en administración de servidores, si necesitas a alguien que mantenga tu servidor seguro y funcionando correctamente las 24 horas, contacta con nosotros y te informaremos sin compromiso.
Álvaro Fontela
Álvaro Fontela

Alvaro Fontela es consultor WordPress especializado en WPO y rendimiento web, además de co-fundador y CEO de Raiola Networks.

Artículos relacionados

Si te ha gustado este post, aquí tienes otros que pueden ser de tu interés. ¡No dejes de aprender!

Tenemos 7 comentarios en Cambiar el puerto SSH en Linux: Ubuntu, Debian, Almalinux, RHEL
Avatar del autor del comentario

Jesus

04/02/2016 a las 16:43

Hola sr. Alvaro, apenas cambio el puerto ssh, ya no me puedo conectar por ssh, tengo que volver a poner el puerto 22, para poderme conectar por ssh.
¿Que puede estar pasando?
Saludos!

Responder
Avatar del autor del comentario

Jesus

04/02/2016 a las 17:18

También modifique el archivo /etc/services y sigo sin poder conectarme por ssh.

Responder
Avatar del autor del comentario

Alvaro Fontela

05/02/2016 a las 01:56

Te voy a ser sincero Jesus, no tengo ni idea, la verdad, como puedes ver en este articulo, el proceso es muy simple, ¿estas seguro que estas usando la cuenta de root?
¿Es una imagen pre-creada de algún proveedor de VPS?

Un saludo.

Responder
Avatar del autor del comentario

Pedro Barrantes

02/12/2019 a las 23:01

Antes de nada, gracias por el artículo, muy sencillo y práctico.

Ha pasado ya un tiempo, pero por si alguien lo busca quizás pueda ayudar a alguno que ande perdido, a mi no me dejo acceder por ssh después de este cambio y tuve que modificar la entrada correspondiente al acceso ssh en el firewall para que coincida el puerto editado en los pasos anteriores con el puerto habilitado en mi caso iptables. El cambio lo realicé desde el mismo VestaCP.

Saludos.

Responder
Avatar del autor del comentario

Héctor Luaces

18/12/2019 a las 00:26

Hola, Pedro:

en efecto, al cambiar el puerto de SSH hay que actualizar la configuración de Firewall o de SELinux/AppArmor en el caso de que los uses.

¡Un saludo y gracias por el aporte!

Responder
Avatar del autor del comentario

Gerardo Astudillo

23/12/2020 a las 01:11
Es correcto!! al cambiar el puerto hay que hacer la modificación en el firewall, Saludos
Responder
Avatar del autor del comentario

Richard Arias Genao

15/12/2017 a las 15:15

Jesus, reiniciaste el servicio ssh?
Si estas en CentOS solo tienes que hacerlo con: sudo systemctl restart sshd.service

Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *