Servidores y clientes FTP
Un servidor FTP permite la transferencia de archivos entre dos equipos (cliente y servidor), así como la gestión del sistema de archivos (creación, renombrado, eliminación, copia, etc. tanto de archivos como carpetas) del servidor desde el equipo cliente.
Para realizar la conexión al servidor FTP es necesario disponer en el equipo cliente un software cliente FTP que lo posibilite. Los navegadores web más modernos también posiblitan la conexión con un servidor FTP, aunque sólo para ver su contenido y realizar descargas, usando una URL con el siguiente formato (sin los espacios):
ftp:// usuario : contraseña @ servidorftp / rutaACarpeta
Algunos de las aplicaciones clientes FTP más utilizadas son Filezilla Client (gratuito, para Windows, Linux y Mac), gFTP (gratuito, instalado por defecto en las principales distribuciones Linux), o WinSCP (gratuito, para Windows).
Debes tener en cuenta que también es posible conectarte a un servidor FTP desde el símbolo del sistema o terminal, que en ocasiones puede ser de utilidad si no se dispone de un cliente FTP o un interfaz gráfico. Para usarlo, tan sólo debes escribir el comando ftp y luego deberás usar las distintas opciones que ofrece esa herramienta, donde las más importantes pueden ser:
- help: muestra las distintas opciones que se ofrecen.
- open: conecta con el servidor que se indique.
- dir: muestra el contenido de la carpeta actual remota.
- cd: cambia de carpeta remota.
- mkdir: crea una carpeta remota.
- get o recv: descarga el archivo indicado.
- put o send: sube al servidor el archivo indicado.
- quit: sale de la aplicación ftp.
Usa los siguientes enlaces para ver una descripción detallada de las distintas opciones que ofrece la herramienta ftp por línea de comandos para Windows y Ubuntu.
Puertos y modos de conexión
Por defecto, el servidor FTP utiliza los puertos 20 y 21 para realizar las comunicaciones por FTP. El puerto 21 se usa para la transmisión de comandos de control y el puerto 20 para los datos, aunque este último puerto puede variar en el servidor si se usa el modo pasivo.
El protocolo FTP puede funcionar en modo activo o pasivo, lo cual determina cómo se establece la conexión de datos. En el modo activo, el cliente crea una conexión de control con el servidor y le envía al servidor la dirección IP del cliente y un número de puerto aleatorio. A partir de ese momento espera a que el servidor inicie la conexión de datos con la dirección IP y puerto indicados por el cliente. Cuando el cliente está detrás de un cortafuegos y no se permiten las conexiones entrantes, se puede utilizar el modo pasivo. En este modo, el cliente usa la conexión de control para enviar un comando PASV al servidor, y recibe la dirección IP del servidor y el número de puerto desde el servidor. De esta manera, el cliente usa ese puerto para abrir una conexión de datos desde un puerto aleatorio del cliente a la dirección IP y puerto que se ha recibido del servidor.
Usuario anonymous
Los servidor FTP se pueden configurar de modo que cualquier persona se pueda conectar a ellos con un mismo usuario, que suele recibir el nombre anonymous y no tener ninguna contraseña. Las operaciones que se puedan realizar sobre el servidor con ese usuario dependerá de la configuración que se haya establecido para él. Normalmente sólo se permitirá la descarga de los archivos que se encuentren en una carpeta destinada para dicho usuario.
FTP seguro
La comunicación a través de FTP de manera segura se puede establecer a través de FTPS o SFTP. El primero de ellos conlleva el uso de una capa SSL/TLS debajo del protocolo estándar FTP para cifrar los canales de control y/o datos, de manera similar a la utilizada por el protocolo HTTPS. En cambio SFTP utiliza el protocolo SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad.