Cambiar el puerto SSH en CentOS 7

Cambiar el puerto SSH en CentOS 7. Aunque ya tratamos este tema en un anterior articulo, lo cierto es… que dependiendo de donde alquiles un VPS o Dedicado te puedes encontrar con auténticos quebraderos de cabeza al intentar cambiar el puerto SSH.

La respuesta es simple, muchos Hosting y Datacenter modifican las distribuciones Linux a su antojo, el motivo es claro, tratan de optimizar y minificar las distribuciones Linux para lo que ellos consideran un rendimiento optimo en sus sistemas, el problema es que nunca te dicen que cambios son.

Un ejemplo claro lo tenemos con el gigante OVH y su manipulación de Centos 7. Que levante la mano el que alquilo por primera vez un VPS con ellos (CentOS7), cambio el puerto ssh, se le bloqueo el acceso y al final tuvo que reinstalar todo el sistema… muchos, muchos. Como ya dije es debido a la manipulación de su CentOS 7.

Por todo ello, este articulo se centra exclusivamente en como cambiar el puerto SSH, en CentOS7.

Este no falla…

 

Cambiar el puerto SSH en CentOS 7

Lo primero que haremos es crear una copia de seguridad del archivo de configuración (por si acaso).

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig.$(date +%F)

Editamos el archivo de configuración.
nano /etc/ssh/sshd_config

Modificamos el puerto, por ejemplo… 123 (recuerda descomentar la linea del puerto).
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 123
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# The default requires explicit activation of protocol 1
#Protocol 2

Una vez hayas modificado el puerto, guarda y cierra el archivo. Para que sus cambios surtan efecto, debes reiniciar el daemon SSH.
systemctl restart sshd.service

 

Continuamos….

Por defecto SElinux solo admite el 22, así que la damos permisos.

semanage port -a -t ssh_port_t -p tcp 123 
## donde 123 pon tu puerto elegido

Tal vez te aparezcan errores del tipo…
SELinux:  Could not downgrade policy file /etc/selinux/targeted/policy/policy.30, searching for an older version.
SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.30:  No such file or directory
     ...............................
          ...............................

No pasa nada, tu sigue adelante.

 

Continuamos….

Ahora le damos permisos en el firewall.

firewall-cmd --permanent --zone=public --add-port=123/tcp
## donde 123, coloca tu puerto seleccionado.

Reinicia el firewall.
firewall-cmd --reload

 

Llego la hora de la verdad, sabremos si los cambios fueron efectivos o no (ojo, no reinicies el vps o servidor aun).

Comprobamos en que puerto escucha SSH realmente.

ss -tnlp|grep ssh

Cambiar el puerto SSH en CentOS 7 1

Vemos que efectivamente el resultado que nos devuelve es correcto.

 

Ahora si, ya podemos reiniciar nuestro CentOS 7.

/sbin/shutdown -r now

Una vez reiniciado ya podemos acceder de nuevo.

Lo haremos insertando el puerto.

ssh -p 123 root@tu-ip

 

Como ves es un proceso sencillo pero algo diferente a los comunes.

5 Comentarios

  1. Luis MIguel
    17/11/2017
  2. Ricardo Ugalde
    11/10/2018
  3. Federico
    03/03/2020
    • Sergio G.B.
      03/03/2020

Agregar comentario