Post

¿Qué es FTP y cómo funciona?

¿Qué es FTP y cómo funciona?


Trabajar con un servidor FTP (File Transfer Protocol) a través de la línea de comandos es una habilidad útil para transferir archivos entre tu computadora local y un servidor remoto. FTP es un protocolo estándar de red que permite la transferencia de archivos en una red TCP/IP, como Internet. A continuación, te explico en detalle cómo trabajar con un servidor FTP desde la línea de comandos.

  1. ¿Qué es FTP y cómo funciona? FTP es un protocolo cliente-servidor que permite a los usuarios conectarse a un servidor remoto para cargar (upload) o descargar (download) archivos. Funciona en dos modos principales:

Modo activo: El cliente abre un puerto y espera que el servidor inicie la conexión. Modo pasivo: El cliente inicia ambas conexiones (control y datos), lo que es más común en redes con firewalls. FTP utiliza dos puertos principales:

Puerto 21: Para el control de la conexión (comandos y respuestas). Puerto 20: Para la transferencia de datos (en modo activo).

  1. Requisitos previos Antes de comenzar, asegúrate de tener lo siguiente:

Acceso al servidor FTP: Necesitarás la dirección del servidor, un nombre de usuario y una contraseña. Cliente FTP instalado: La mayoría de los sistemas operativos incluyen un cliente FTP en la línea de comandos. Por ejemplo: En Windows, puedes usar ftp. En Linux/macOS, también puedes usar ftp o herramientas más avanzadas como lftp.

  1. Conexión a un servidor FTP Paso 1: Abrir la terminal Abre la terminal o línea de comandos en tu sistema operativo.

Paso 2: Conectarte al servidor Usa el comando ftp seguido de la dirección del servidor. Por ejemplo:

bash Copy Code ftp ftp.ejemplo.com Si el servidor requiere autenticación, te pedirá un nombre de usuario y una contraseña. Ingresa las credenciales proporcionadas por el administrador del servidor.

bash Copy Code Name (ftp.ejemplo.com:usuario): tu_usuario Password: **** Si la conexión es exitosa, verás un mensaje de bienvenida del servidor.

  1. Comandos básicos de FTP Una vez conectado, puedes usar varios comandos para interactuar con el servidor. Aquí tienes los más comunes:

4.1. Navegación en el servidor ls o dir: Lista los archivos y directorios en el servidor remoto. bash Copy Code ftp> ls cd [directorio]: Cambia al directorio especificado en el servidor. bash Copy Code ftp> cd carpeta_remota pwd: Muestra el directorio actual en el servidor. bash Copy Code ftp> pwd 4.2. Navegación en tu máquina local lcd [directorio]: Cambia el directorio local donde se guardarán los archivos descargados o desde donde se cargarán. bash Copy Code ftp> lcd /ruta/a/mi/carpeta !ls o !dir: Lista los archivos y directorios en tu máquina local. 4.3. Transferencia de archivos Descargar un archivo del servidor al equipo local: bash Copy Code ftp> get archivo_remoto También puedes especificar un nombre diferente para el archivo descargado: bash Copy Code ftp> get archivo_remoto archivo_local Subir un archivo desde tu equipo local al servidor: bash Copy Code ftp> put archivo_local Descargar múltiples archivos: bash Copy Code ftp> mget *.txt Esto descargará todos los archivos con la extensión .txt. Subir múltiples archivos: bash Copy Code ftp> mput *.jpg Esto subirá todos los archivos con la extensión .jpg. 4.4. Gestión de archivos delete [archivo]: Elimina un archivo en el servidor. bash Copy Code ftp> delete archivo_remoto mkdir [directorio]: Crea un nuevo directorio en el servidor. bash Copy Code ftp> mkdir nuevo_directorio rmdir [directorio]: Elimina un directorio vacío en el servidor. bash Copy Code ftp> rmdir directorio_vacio 4.5. Cambiar el modo de transferencia FTP tiene dos modos de transferencia:

Modo ASCII: Para archivos de texto. Modo binario: Para archivos binarios (imágenes, videos, etc.). Usa los comandos ascii o binary para cambiar el modo:

bash Copy Code ftp> binary 4.6. Salir de la sesión bye o quit: Cierra la conexión con el servidor y sale del cliente FTP. bash Copy Code ftp> bye

  1. Ejemplo práctico Supongamos que necesitas conectarte a un servidor FTP, descargar un archivo y luego subir otro archivo. Aquí tienes un ejemplo paso a paso:

Conéctate al servidor: bash Copy Code ftp ftp.ejemplo.com Ingresa tus credenciales: bash Copy Code Name (ftp.ejemplo.com:usuario): usuario Password: **** Cambia al directorio remoto donde está el archivo que deseas descargar: bash Copy Code ftp> cd /carpeta_remota Cambia al directorio local donde guardarás el archivo: bash Copy Code ftp> lcd /mi/carpeta/local Descarga el archivo: bash Copy Code ftp> get archivo.txt Sube un archivo desde tu máquina local al servidor: bash Copy Code ftp> put nuevo_archivo.txt Sal de la sesión: bash Copy Code ftp> bye

  1. Consejos y herramientas avanzadas 6.1. Usar FTP seguro (SFTP o FTPS) FTP no cifra los datos por defecto, lo que significa que las credenciales y los archivos se transfieren en texto plano. Para mayor seguridad, utiliza:

SFTP (SSH File Transfer Protocol): Usa el protocolo SSH para transferencias seguras. bash Copy Code sftp usuario@servidor.com FTPS (FTP Secure): Usa SSL/TLS para cifrar la conexión. 6.2. Automatizar tareas con scripts Puedes crear un script para automatizar tareas FTP. Por ejemplo, en Linux:

bash Copy Code #!/bin/bash ftp -n «EOF open ftp.ejemplo.com user usuario contraseña cd /carpeta_remota lcd /mi/carpeta/local get archivo.txt put nuevo_archivo.txt bye EOF Guarda este script como ftp_script.sh, hazlo ejecutable y ejecútalo:

bash Copy Code chmod +x ftp_script.sh ./ftp_script.sh 6.3. Usar clientes FTP avanzados Si necesitas más funcionalidades, considera usar herramientas como:

lftp: Un cliente FTP avanzado con soporte para SFTP y FTPS. ncftp: Otro cliente FTP con características adicionales.

  1. Solución de problemas comunes Error de conexión: Verifica la dirección del servidor, las credenciales y que el puerto 21 esté abierto. Permiso denegado: Asegúrate de tener permisos para acceder o modificar los archivos/directorios. Transferencia lenta: Cambia al modo binario si estás transfiriendo archivos grandes. Trabajar con FTP desde la línea de comandos puede parecer intimidante al principio, pero con práctica, se convierte en una herramienta poderosa y eficiente para gestionar archivos en servidores remotos.
This post is licensed under CC BY 4.0 by the author.