SFTP (Protocolo de transferencia de archivos SSH) es un protocolo de archivo seguro para transferir archivos entre dos hosts a través de una conexión cifrada. También le permite realizar varias operaciones de archivos en archivos remotos y reanudar las transferencias de archivos.

SFTP se puede utilizar como reemplazo del protocolo FTP heredado. Tiene toda la funcionalidad de FTP pero con una conexión más segura.

Este artículo explica cómo cambiar el puerto SFTP predeterminado en Linux. También le mostraremos cómo configurar su firewall para permitir el nuevo puerto.

No confunda SFTP con FTPS. Ambos protocolos tienen el mismo propósito. Sin embargo, FTPS significa FTP seguro y es una extensión del protocolo FTP estándar con soporte para TLS.

¿Qué puerto utiliza SFTP?

SFTP es un subsistema de SSH y proporciona el mismo nivel de seguridad que SSH.

El puerto SFTP predeterminado es 22 .

Cambio del puerto SFTP

Cambiar el puerto SFTP/SSH predeterminado agrega una capa adicional de seguridad a su servidor al reducir el riesgo de ataques automatizados.

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

Los siguientes pasos describen cómo cambiar el puerto SSH en máquinas Linux.

1. Elegir un nuevo número de puerto

En Linux, los números de puerto por debajo de 1024 están reservados para servicios conocidos y solo se pueden vincular mediante la raíz. Aunque puede usar un puerto dentro del rango 1-1024 para el servicio SSH para evitar problemas de asignación de puertos, se recomienda elegir un puerto por encima de 1024.

Este ejemplo muestra cómo cambiar el puerto SFTP/SSH a 4422, pero puede elegir cualquier puerto que desee.

2. Ajuste del cortafuegos

Antes de cambiar el puerto SFTP/SSH, deberá abrir el nuevo puerto en su firewall.

Si está utilizando UFW, el firewall predeterminado en Ubuntu , ejecute el siguiente comando para abrir el puerto:

sudo ufw allow 4422/tcp

En CentOS, la herramienta de administración de firewall predeterminada es FirewallD. Para abrir el puerto, ingrese los siguientes comandos:

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

Los usuarios de CentOS también deben ajustar las reglas de SELinux para permitir el nuevo puerto SSH:

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

Si está utilizando otra distribución de Linux que ejecuta iptables, para abrir el nuevo puerto ejecute:

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

3. Configuración de SFTP/SSH

La configuración del servidor SSH se almacena en el /etc/ssh/sshd_configarchivo. Abra el archivo con su editor de texto:

sudo vim /etc/ssh/sshd_config

Busque la línea que comienza con Port 22#Normalmente, esta línea se comenta con el símbolo hash ( ). Elimine el hash #e ingrese su nuevo número de puerto SSH:

/etc/ssh/sshd_config
Port 4422

Tenga mucho cuidado al editar el archivo de configuración. Una configuración incorrecta puede impedir que se inicie el servicio SSH.

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

sudo systemctl restart ssh

En CentOS, el servicio SSH se llama sshd:

sudo systemctl restart sshd

Verifique que el demonio SSH esté escuchando en el nuevo puerto:

ss -an | grep 4422

La salida debería ser algo como esto:

tcp   LISTEN      0        128            0.0.0.0:4422           0.0.0.0:*
tcp   ESTAB       0        0      192.168.121.108:4422     192.168.121.1:57638
tcp   LISTEN      0        128               [::]:4422              [::]:*

Uso del nuevo puerto SFTP

Para especificar el número de puerto, invoque el sftp comando con la -Popción seguida del nuevo número de puerto:

sftp -P 4422 username@remote_host_or_ip

Si está utilizando un cliente GUI SFTP, simplemente ingrese el nuevo puerto en la interfaz del cliente.

Conclusión

El puerto SFTP predeterminado es 22. Sin embargo, puede cambiar el puerto al número que desee.

Si se conecta regularmente a varios sistemas, puede simplificar su flujo de trabajo definiendo todas sus conexiones en el archivo de configuración de SSH .

Siéntase libre de dejar un comentario si tiene alguna pregunta.