Cómo cambiar el puerto SSH en Linux


El daemon SSH o Secure Shell es un protocolo de red que se utiliza para realizar inicios de sesión remotos a sistemas Linux a través de un canal seguro a través de redes no seguras que utilizan criptografía sólida.

Una de las utilidades más básicas del protocolo SSH es la capacidad de acceder a shells de Unix en máquinas remotas de Linux y ejecutar comandos. Sin embargo, el protocolo SSH puede ofrecer otras implementaciones, como la capacidad de crear túneles TCP seguros sobre el protocolo, transferir archivos de forma remota y segura entre máquinas o actuar como un servicio similar a FTP.

El puerto estándar utilizado por el servicio SSH es 22/TCP . Sin embargo, es posible que desee cambiar el puerto predeterminado SSH en su servidor Linux, para lograr algún tipo de seguridad a través de la oscuridad porque el puerto 22/TCP estándar está continuamente dirigido a las vulnerabilidades de los hackers y bots en internet. .

Para cambiar el puerto predeterminado del servicio SSH en Linux, primero debe abrir el archivo de configuración del demonio SSH principal para editar con su editor de texto favorito emitiendo el siguiente comando y realice los cambios siguientes.

# vi /etc/ssh/sshd_config

En el archivo sshd_config , busque y comente la línea que comienza con Puerto 22 , agregando un hashtag (#) al frente de la línea. Debajo de esta línea, agregue una nueva línea de puerto y especifique el puerto deseado para enlazar SSH.

En este ejemplo, configuraremos el servicio SSH para enlazar y escuchar en el puerto 34627/TCP . Asegúrese de elegir un puerto aleatorio, preferiblemente más alto que 1024 (el límite superior de los puertos estándar conocidos). El puerto máximo que se puede configurar para SSH es 65535/TCP .

#Port 22
Port 34627

Una vez que haya realizado los cambios anteriores, reinicie el demonio SSH para reflejar los cambios y ejecute netstat o el comando ss para confirmar que el servicio SSH escucha en el nuevo puerto TCP.

# systemctl restart ssh
# netstat -tlpn| grep ssh
# ss -tlpn| grep ssh

En CentOS o RHEL distribuciones basadas en Linux, instale el paquete policycoreutils y agregue las reglas a continuación para relajar la política de SELinux para que el demonio SSH se enlace el nuevo puerto

# yum install policycoreutils
# semanage port -a -t ssh_port_t -p tcp 34627
# semanage port -m -t ssh_port_t -p tcp 34627
# systemctl restart sshd
# netstat -tlpn| grep ssh
# ss -tlpn| grep ssh

Además, no olvide actualizar las reglas de firewall específicas para su propia distribución de Linux instalada para permitir que se establezcan las conexiones entrantes en el nuevo puerto SSH agregado.