Linux: Cambiar puerto SSH por defecto en CentOS

En esta entrada voy a explicaros como podemos cambiar el puerto por defecto de conexión a nuestro servidor Linux por SSH en CentOS. Esta es una práctica muy recomendable desde el punto de vista de seguridad.

En primer lugar abriremos un terminal en nuestro linux con privilegios de root, nos dirigeremos a /etc/ssh y editaremos el fichero sshd_config.

Descomentaremos la línea que pone Port 22 y pondremos el puerto que queramos utilizar.

Tal y como pone en el fichero de configuración tendremos que informar a SELinux (módulo de seguridad para el kernel de Linux) de este cambio.

Para ello primero, en el caso que no lo tengamos ya instalado, tendremos que instalar el comando semanage tal y como explico a continuación.

Ejecutaremos la siguiente instrucción para realizar la instalación del comando.

CentOS 7
yum install policycoreutils-python

CentOS 8
yum install policycoreutils-python-utils 

Una vez instalado el comando lo ejecutaremos con la siguiente instrucción.

semanage port -a -t ssh_port_t -p tcp numero_puerto

Por último abriremos el puerto en el firewall de CentOS ejecutando el siguiente comando.

firewall-cmd --zone=public --add-port=numero_puerto/tcp --permanent
firewall-cmd --reload

Por último reiniciamos el servicio de SSH para que coja los cambios de configuración.

systemctl restart sshd

Y listo ya estará cambiado el puerto por el que nos podremos conectar a nuestro servidor Linux vía SSH.

Espero os haya servido de utilidad.

5 comentarios en «Linux: Cambiar puerto SSH por defecto en CentOS»

  1. Gracias me funciono. Yo lo habia hecho antes sin tener que correr el semanage, pienso que aqui se requiere porque el SELinux esta enforcing. Lo pueden validar con la instruccion getenforce.

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.