Cómo cambiar el puerto SFTP en Ubuntu, CentOS y otros sistemas Linux

Una guía completa para cambiar el puerto SFTP predeterminado para transferir archivos entre máquinas a través de una conexión segura y encriptada

SFTP significa Protocolo seguro de transferencia de archivos. Este protocolo se implementa mediante Secure Shell (SSH), que proporciona una mejor seguridad y protección contra vulnerabilidades que el FTP normal.

SFTP proporciona una conexión confiable para comunicarse con una máquina remota a través de una red desconocida (potencialmente dañina). SFTP funciona en una arquitectura cliente-servidor para transferir archivos.

Esta guía completa lo guiará a través del proceso para cambiar el puerto SFTP predeterminado en Linux.

Elija un nuevo número de puerto SFTP

De forma predeterminada, SFTP usa el puerto número 22, que es un servidor SSH. En esta guía, lo cambiaremos al puerto 2222 del puerto predeterminado 22 TCP. Pero puede optar por utilizar cualquier otro puerto de su elección para configurar la conexión SFTP.

Nota: Los puertos 0 - 1023 están reservados para servicios del sistema. El nuevo puerto se elegirá entre los puertos 1024 y 65535.

Permitir el nuevo puerto SFTP en el firewall

Si su sistema usa un firewall, asegúrese de permitir el nuevo puerto SFTP en el firewall antes de cambiarlo en los archivos del sistema o de lo contrario se bloqueará el acceso SFTP.

En sistemas Ubuntu, puede ejecutar el siguiente comando para agregar el nuevo puerto SFTP a la lista de puertos permitidos en el firewall de Ubuntu.

sudo ufw permitir 2222 / tcp

Para verificar que el nuevo puerto se ha agregado a ufw, ejecute el siguiente comando:

estado de sudo ufw
Producción: Estado: activo A Acción desde - ------ ---- 8080 PERMITIR en cualquier lugar 2222 / tcp PERMITIR en cualquier lugar 22 / tcp PERMITIR en cualquier lugar 

Para distribuciones de Linux en ejecución iptables, use el siguiente comando para agregar un nuevo puerto.

sudo iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NUEVO, ESTABLECIDO -j ACEPTAR

Para sistemas Cent OS, use los siguientes comandos para abrir un nuevo puerto.

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

Configurar / cambiar el puerto SFTP en sshd_config Archivo

Para cambiar y configurar el puerto SFTP necesitamos abrir el sshd_config archivo y realice los cambios necesarios en él.

Abrir sshd_config archivo usando nano editor, use el siguiente comando.

sudo nano / snap / core / 9804 / etc / ssh / sshd_config

Aquí, encuentra la línea que dice Puerto 22 (como se ve a continuación).

 Archivo de configuración generado por el paquete # Consulte la página de manual de sshd_config (5) para obtener más detalles # Qué puertos, IP y protocolos escuchamos para el Puerto 22 # Utilice estas opciones para restringir qué interfaces / protocolos sshd se enlazará a #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 

Queremos cambiar este puerto 22 por el puerto 2222. Entonces, simplemente reemplácelo con Puerto 2222 como sigue.

Puerto 2222

Nota: Tenga cuidado al editar el archivo sshd_config, ya que una edición incorrecta puede hacer que no se establezca la conexión.

Si la línea se comenta con un # luego quita el # y agregue el número 2222 en lugar de 22.

Después de cambiar el 22 puerto en el archivo sshd_config, presione Ctrl + oseguido por Ingresar clave para guardar el archivo sshd_config. Y luego salga del editor nano presionando Ctrl + x.

Reinicie el ssh / sshd Servicio

Después de guardar los cambios realizados en el archivo sshd_config, reinicie el servicio SSH para que el sistema pueda cargar la nueva configuración SSH.

En Ubuntu y otros sistemas basados ​​en Debian, use el siguiente comando para reiniciar el servicio ssh.

reinicio de ssh del servicio sudo

En CentOS y otras distribuciones de Linux, el ssh el servicio se conoce como sshd así que use el comando alternativo a continuación para reiniciar el servicio sshd.

sudo systemctl reiniciar sshd

Verifique que el nuevo puerto SSH esté funcionando

Ahora verifique si el nuevo puerto SSH está en funcionamiento mediante el comando a continuación.

ss -an | grep 2222

Debería ver una salida similar a la siguiente.

PRODUCCIÓN tcp ESCUCHAR 0128 0.0.0.0:2222 0.0.0.0:* tcp ESTAB 0 0 192.168.121.108:2222 172.217.160.163:8080 tcp ESCUCHAR 0128 [::]: 2222 [::]: *

Utilice el nuevo puerto SFTP para conectarse

Para comenzar a usar el nuevo puerto SFTP, use el -PAGS opción en sftp comando para especificar el nuevo número de puerto SSH.

sftp -p 2222 nombre de usuario @ remote_host

Por ejemplo:

sftp -p 2222 [email protected]

Si está utilizando un cliente GUI como Putty, WinSCP y otros, especifique el nuevo número de puerto en lugar de 22 al iniciar una conexión.