Cambiar el puerto SSH en CentOS 7

Primero copiamos el archivo de configuración de SSH antes de modificarlo:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Si algo va mal podremos restaurar la configuración original desde ese archivo. Editamos el archivo de configuración:

sudo nano /etc/ssh/sshd_config

Descomentamos la línea (borra la almohadilla #) donde pone

#Port 22

cambiamos el número 22 que es el puerto habitual que usa el servicio SSH, y ponemos el número que queramos usar a partir de ahora como puerto. Nos debemos asegurar de que el número no es un puerto que esté en uso por otro servicio.

Port 2323

Ahora debemos habilitar el nuevo puerto en SELinux mediante el comando

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

Si el comando diera el fallo semanage command not found lo instalamos mediante

sudo yum -y install policycoreutils-python

Después hay que crear una regla en el cortafuegos para permitir el nuevo puerto

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

Cargamos la nueva configuración del cortafuegos

sudo firewall-cmd --reload

Y reiniciamos el servicio SSH para aplicar los cambios

sudo systemctl restart sshd.service

Finalmente comprobamos que SSH esta funcionando en el nuevo puerto

ss -tnlp | grep ssh

El anterior comando nos mostrará una salida similar a

LISTEN    0    128           *:2323       *:*      users:(("sshd",pid=7632,fd=3))
LISTEN    0    128         [::]:2323   [::]:*      users:(("sshd",pid=7632,fd=4))