De forma predeterminada, se sabe que el protocolo SSH escucha el puerto 22. Si bien está perfectamente bien, en un sentido de seguridad, se recomienda cambiar el puerto predeterminado a otro puerto. Esto minimiza en gran medida los riesgos de que los piratas informáticos lancen ataques automatizados de fuerza bruta mediante SSH. En esta guía, demostraremos cómo puede cambiar el puerto SSH predeterminado a otro en Linux.
Requisitos previos
Cuando comience, asegúrese de tener una instancia de un servidor Linux. Para esta guía, estamos usando el servidor Ubuntu 20.04.
Asegúrese de tener también un cliente SSH (como Putty) o incluso un sistema cliente Linux para establecer la conexión con el servidor utilizando el nuevo puerto.
Paso 1:Compruebe si SSH se está ejecutando en el puerto predeterminado
En primer lugar, debemos verificar que el servicio SSH se esté ejecutando en el servidor. Para lograr esto, ejecute el siguiente comando:
$ sudo systemctl status ssh
El resultado es una confirmación de que el servicio SSH está activo. Avancemos aún más y asegurémonos de que se está ejecutando en el puerto predeterminado. Ejecute el siguiente comando netstat.
$ sudo netstat -pnltu | grep 22
Paso 2:Seleccione un puerto y configure SSH
Como sabrá, los puertos TCP van del puerto 0 al 65535. Sin embargo, los puertos del 0 al 1024 se consideran puertos privilegiados designados para servicios especiales como HTTP (Puerto 80), FTP (21) y SMTP (25) para menciona solo algunos.
Para evitar cualquier conflicto con los puertos privilegiados, elegiremos un puerto que esté por encima del puerto 1024. En este ejemplo, hemos elegido cambiar el puerto predeterminado al puerto 5466. Para habilitar esto, modificaremos /etc/ ssh/sshd_config Archivo de configuración SSH.
$ sudo vim /etc/ssh/sshd_config
Localiza la línea que comienza con #Port 22 como se muestra.
Descomente y especifique el número de puerto.
A continuación, guarde los cambios realizados y salga del archivo de configuración. Para que los cambios persistan, reinicie el servicio SSH.
$ sudo systemctl restart ssh
Para verificar que SSH está escuchando el puerto recién configurado, ejecute:
$ sudo netstat -pnltu | grep 5466
Paso 3:permitir el nuevo puerto SSH en el cortafuegos UFW
Si el firewall UFW está habilitado, asegúrese de abrir el puerto configurado como se muestra.
$ sudo ufw allow 5466/tcp
$ sudo ufw reload
Para CentOS/RHEL, abra el puerto de la siguiente manera.
$ sudo firewall-cmd --add-port=5466/tcp --add-zone=public --permanent
$ sudo firewall-cmd --reload
En este punto, puede acceder de forma remota al servidor, y esto es lo que demostraremos en breve.
Paso 4:Iniciar sesión usando el nuevo puerto
Para iniciar sesión en el servidor, diríjase al cliente SSH. Especifique el número de puerto mediante -p opción seguida del puerto SSH y la identidad del servidor remoto.
$ ssh -p 5466 [email protected]
Como era de esperar, se le pedirá que proporcione la contraseña, después de lo cual se le otorgará acceso al servidor remoto.
Conclusión
Esto trae este tema a su fin. Para mayor seguridad, considere usar la autenticación sin contraseña SSH con el par de claves pública/privada SSH.