Cómo cambiar el puerto SSH en Linux

Por defecto, SSH escucha en el puerto 22. Cambiar el puerto SSH por defecto añade una capa extra de seguridad a tu servidor reduciendo el riesgo de ataques automáticos.

Este tutorial explica cómo cambiar el puerto SSH por defecto en Linux. También le mostraremos cómo configurar su cortafuegos para permitir el acceso al nuevo puerto SSH.

La mejor manera de proteger su servidor de los ataques es configurar su cortafuegos para permitir el acceso al puerto 22 sólo desde hosts de confianza y configurar una autenticación basada en clave SSH.

Cambiar el puerto SSH #

Cambiar el puerto SSH de una imagen es una tarea sencilla. Todo lo que necesita hacer es editar el archivo de configuración de SSH y reiniciar el servicio.

Las siguientes secciones explican cómo cambiar el puerto SSH en un sistema Linux.

Elegir un nuevo número de puerto #

En Linux, los números de puerto por debajo de 1024 están reservados para servicios bien conocidos y sólo pueden ser vinculados por root. Aunque puede utilizar un puerto dentro de un rango de 1 a 1024 para el servicio SSH para evitar problemas con la asignación de puertos en el futuro, se recomienda elegir un puerto por encima de 1024.

En este ejemplo se cambiará el puerto SSH a 5522, puede elegir cualquier puerto que desee.

Ajuste del Firewall #

Antes de cambiar el puerto SSH, tendrá que ajustar su firewall para permitir el tráfico en el nuevo puerto SSH.

Si estás usando UFW, la herramienta de configuración del firewall por defecto para Ubuntu, ejecuta el siguiente comando para abrir el nuevo puerto SSH:

sudo ufw allow 5522/tcp

En CentOS, la herramienta de gestión del firewall por defecto es FirewallD. Para abrir el nuevo puerto ejecuta:

sudo firewall-cmd --permanent --zone=public --add-port=5522/tcpsudo firewall-cmd --reload

Los usuarios de CentOS también necesitan ajustar las reglas de SELinux:

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

Si estás usando iptables como tu firewall, para abrir el nuevo puerto, ejecuta:

sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Configuración de SSH #

Abre el archivo de configuración de SSH /etc/ssh/sshd_config con tu editor de texto:

sudo vim /etc/ssh/sshd_config

Busca la línea que comienza con Port 22. En la mayoría de los casos, esta línea comienza con un carácter hash (#). Elimine el hash # e introduzca el nuevo número de puerto SSH:

/etc/ssh/sshd_config
Port 5522

Tenga mucho cuidado al modificar el archivo de configuración SSH. La configuración incorrecta puede hacer que el servicio SSH no se inicie.

Una vez hecho esto, guarde el archivo y reinicie el servicio SSH para aplicar los cambios:

sudo systemctl restart ssh

En CentOS el servicio ssh se llama sshd:

sudo systemctl restart sshd

Para verificar que el demonio SSH está escuchando en el nuevo puerto 5522, escribe:

ss -an | grep 5522

La salida debería ser algo así:

tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638tcp LISTEN 0 128 :5522 :*

Usando el nuevo puerto SSH #

Para especificar el puerto, invoca el comando ssh seguido de la opción -p <port_number>:

ssh -p 5522 username@remote_host_or_ip

Si te conectas regularmente a varios sistemas, puedes simplificar tu flujo de trabajo definiendo todas tus conexiones en el archivo de configuración SSH.

Conclusión #

En este tutorial, has aprendido a cambiar el puerto SSH en un servidor Linux. También debe configurar una autenticación basada en clave SSHy conectarse a sus servidores Linux sin introducir una contraseña.

Deja una respuesta

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