Cuando vayáis a configurar una conexión FTP a un servidor en FileZilla, debéis intentar usar siempre la opción de Cifrado: «Requiere FTP explícito sobre TLS«. Por favor, no sigáis las recomendaciones que he leído en muchos foros y webs de soporte, en los que aconsejan usar la opción de Cifrado: «Usar sólo FTP plano (inseguro).
Con la opción «Requiere FTP explícito sobre TLS» estaremos realizando una conexión segura con el servidor, habilitando una capa SSL/TLS debajo del protocolo estándar FTP. Esto cifrará los canales de control y datos, protegiendo la transferencia de archivos que llevéis a cabo.
En lenguaje sencillo, todos los datos que subáis o bajéis del servidor quedarán protegidos mediante un cifrado durante el proceso. Sí, ya sé que vendrá el típico que diga que a nadie le importa tus archivos, que no pasa nada por transmitirlos sin proteger, etc. En mi opinión, nunca está de más tener un extra de seguridad en las conexiones que hacemos.
Gracias a esta configuración, cuando intentéis conectar por primera vez al servidor os aparecerá la siguiente ventana, solicitando confirmación:
Sólo tenéis que marcar las casillas de abajo, donde pregunta ¿Confiar en este certificado y seguir conectando?, para dar vuestro consentimiento al certificado de seguridad del dominio al que estáis conectando, y ya no os lo volverá a preguntar. Tras ello, aceptáis.
Al aplicar esta configuración de FTP explícito sobre TLS, FileZilla va incorporando la información de los certificados de seguridad de los servidores en un archivo denominado «trustedcerts.xml«. En el caso de Windows, este archivo está en el directorio oculto AppData, que es donde se guardan las configuraciones y datos de los programas instalados.
Problemas de conexión
Llevo usando esta configuración durante bastante tiempo sin ningún problema, pero hace poco empecé a tener problemas de conexión que mostraban mensajes en el log similares al que os muestro a continuación:
Estado: Conectando a (IP del servidor)...
Estado: Conexión establecida, esperando el mensaje de bienvenida...
Respuesta: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Respuesta: 220-You are user number 7 of 50 allowed.
Respuesta: 220-Local time is now 21:10. Server port: 21.
Respuesta: 220-This is a private system - No anonymous login
Respuesta: 220-IPv6 connections are also welcome on this server.
Respuesta: 220 You will be disconnected after 15 minutes of inactivity.
Comando: AUTH TLS
Error: No se pudo conectar al servidor
Si os encontráis con esta situación es muy posible que sea debido a la verificación de los certificados de seguridad de los servidores, especialmente si se han utilizado los gratuitos de Let’s Encrypt que deben renovarse cada tres meses.
Soluciones
Una primera solución, que nos permitiría mantener el uso de la opción «Requiere FTP explícito sobre TLS», sería editar el archivo «trustedcerts.xml» del que os hablaba anteriormente. Para acceder en Windows rápidamente a su ubicación, escribimos en una ventana del explorador de archivos %APPDATA%\FileZilla\, y le damos a Enter.
Una vez encontrado el archivo, lo abrimos con nuestro editor de texto favorito y buscamos el trozo de código del dominio que pretendemos eliminar. Para ello, buscamos el mismo texto que hayamos definido en el apartado «Servidor» de la conexión en FileZilla:
Eliminamos el trozo de código que está acotado entre las etiquetas <Certificate></Certificate> y lo guardamos:
Si accedemos ahora al servidor que nos estaba dando el problema de conexión, FileZilla realizará de nuevo la verificación, apareciendo la ventana de aceptación de confianza en el certificado. La aceptamos, se agregará automáticamente al archivo «trustedcerts.xml» la información del certificado actualizada, y se realizará la conexión sin ningún problema.
En el caso de que está solución no os funcione, tenemos otra posibilidad. Manteniendo como objetivo que la conexión con el servidor sea segura, podemos hacer uso de un protocolo diferente al FTP que estábamos definiendo, cambiándolo a SFTP – SSH File Transfer Protocol:
Si queréis profundizar un poco sobre las diferencias entre los protocolos os recomiendo la lectura de este artículo de Redes Zone.
Con el protocolo SFTP, los datos de conexión a utilizar (servidor, usuario, contraseña) serán los que utilizáis para acceder al panel de vuestro hosting. En cuanto al puerto, si no os funciona el 22, que es el que se suele utilizar por defecto, tendréis que contactar con el soporte de vuestro proveedor de hosting para que os lo facilite.
En situaciones como ésta es donde se demuestra la calidad del servicio de un proveedor de hosting. Si estáis buscando una compañía fiable para alojar vuestro proyecto y que os resuelva con agilidad todos los problemas que os puedan surgir, os recomiendo que contratéis un plan en la que estoy actualmente y desde hace ya varios años, aprovechando que váis de mi parte:
He pasado ya por varios proveedores y puedo deciros con total sinceridad que al final lo verdaderamente importante es poner vuestros proyectos en manos de una compañía que sea profesional y responda a los inconvenientes, y Raiola Networks lo es sin lugar a dudas.