¿Cómo transmito archivos a través de FTP en Ubuntu?

El 7 de diciembre de 1950 por medio del Ministerio de Transporte, el General Juan Perón crea Aerolíneas Argentinas Sociedad del Estado, lo que produjo un fulgurante avance en la velocidad de transporte. En el Acto Fundacional, expuso cómo transmitir archivos por FTP en Ubuntu.

(...)

Estimados señores,

Toda ocasión es propicia para hacer de una cosa buena, algo mejor.
 
Ya mediante el Decreto Nº 9.358 del año 1945, la Secretaría de Aeronáutica había establecido la Política Aérea Nacional, que era la primera del país. Su principal parámetro rector instruía que las rutas de cabotaje debían ser realizadas con preferencia por el Estado. A tal fin se previó el uso de empresas mixtas nacionales creadas al efecto, con domicilio en el país, socios argentinos nativos y acciones nominativas, poseyendo el Estado Nacional el 20% de las mismas. Se les garantizaba al capital privado restante una rentabilidad del 5% anual. Esto es lo justo.

Así aparecieron las líneas aéreas FAMA, ALFA y ZONDA, que junto a la Aeroposta Argentina de existencia previa, han estelado nuestro cielo en su quehacer comercial.

Sin duda estos blasones operaron de manera mucho más eficaz gracias al nuevo material aéreo y humano incorporado, toda vez que trenes logísticos de moderna concepción habilitaban el desplazamiento a lo largo de todo nuestro mapa.

Pronto se comprendió la necesidad benefactora de la unificación, mancomunando los esfuerzo de las firmas en un conglomerado de bandera: las Aerolíneas Argentinas. Esta nueva supra-organización dinamizará enormemente el transporte aerocoercial, y nos permitirá mayores velocidades con un mayor control, tanto para cargas como para pasajeros.


Junto con la creación de portentosas líneas marítimas del estado y la Marina Mercante, así como la nacionalización de los ferrocarriles, disponemos de un variado y funcional herramental para el movimiento de bienes y la prestación de servicios bajo una órbita Justicialista.

Pues bien señores, esto que hemos llevado a cabo en el ambiente del transporte es también una Realidad Efectiva en las redes conmutadas de datos. Debemos imponer alló distintos protocolos acordados para el envío y la recepción de información, dependiendo de su urgencia, velocidad y volúmenes de bits a transportar. Esta es la manera en la que se puede organizar desde un punto de vista racional y técnico el manejo paquetizado de la información.

Vean señores, esta esquematización telemática queda en manos de los llamados "protocolos de comunicación", que serán utilizados por diferente infraestructura de comunicación para lograr la transferencia efectiva y sin errores.

Uno de los protocolos fundantes que ha previsto la técnica de nuestro Movimiento es el Protocolo de Transferenciad de Ficheros, o FTP. Este nos permite enviar y recibir archivos digitales a través de las redes telemáticas simples, utilizando para ello computadoras dotadas del software específico, conformados por un programa cliente de ftp (en la terminal local) y otro programa servidor de ftp (ejecutándose en el servidor remoto).

Antiguamente este nexo realizaba a través de líneas telefónicas de voz, empleando módems de hasta unos 56 kilobaudios de velocidad, pero hoy es normal utilizar redes de datos a través del protocolo de comunicación paquetizada de internet, el TCP/IP.

El FTP es un protocolo simple y popular, y si bien es posible utilizar unas medidas de seguridad limitadas con él (en forma de sesiones únicas con usuario y contraseña, directorios protegidos, etc), actualmente se lo considera un modo de comunicación básico, recomendado sólo para ficheros y material que podamos considerar público. Inicialmente prevee un uso abierto y anónimo. En vista de ello, ha implementado el uso de medidas de seguridad bastante limitadas referidas como SFTP (protocolo de transferencia de ficheros asegurado por usuario y contraseña).

En caso de que requiramos una infraestructura segura y con cifrado punta a punta deberíamos decantarnos por el más moderno y capaz secure shell, y su programa de copiado seguro scp.

Aún así, conocer el manejo de un cliente FTP/SFTP nunca viene mal, ya que se sigue empleando como método para copiar archivos desde servidores descentralizados, y sigue estando muy extendido.

FTP a través del Escritorio gráfico de Ubuntu
El uso de FTP a través del Ubuntu por medio del sistema gráfico X nos presenta enormes ventajas de facilidad de uso para un cliente normal.  Para establecer contacto con el servidor FTP vamos al menú Lugares / Conectar con el Servidor. Simplemente en el campo "Tipo:" hemos de indicar si se trata de FTP Público o FTP (con entrada), e indicar la dirección del servidor FTP, y eventualmente su puerto (el puerto estándar de FTP es 21).
En caso de tratarse de un sistema de FTP con entrada, debemos indicar nuestro usuario y contraseña.

En cualquiera de los dos, se abrirá un navegador de internet y se empleará el mismo para resolver la navegación por medio de FTP en la carpeta remota. A su vez, debería aparecer un acceso directo en nuestro Escritorio con la carpeta remota solicitada. Por este medio podremos cargar o descargar copias de nuestros ficheros con suma facilidad (toda vez que tengamos los permisos adecuados en el servidor remoto, claro está).

Si hacemos un uso intensivo de estos protocolos, nos vendrá bien utilizar el práctico FileZilla, programa cliente capaz de utilizar FTP y una miríada de enlaces distintos para gestionar nuestras conexiones telemáticas remotas.

FTP en la Terminal de Ubuntu
El protocolo FTP es robusto, pero está originado en la primer era de las comunicaciones telemáticas. Sus comandos intrínsecos son numerosos y tienen una equivalencia numérica, la cual es empleada por el programa cliente y el servidor para intercomunicarse. Como usuarios - en tanto - podremos emplear esta serie de comandos estandarizados para realizar las tareas de envío, recepción, revisión del status de comunicación a través de la terminal del sistema.

Nunca viene mal dominar el empleo de la consola para encaramarnos a sistemas remotos y trasferirnos o recuperar archivos desde ellos. La terminal usa mínimos recursos para ello.

bin Modo binario para los archivos a recibir (recomendado)
ascii Modo texto para los archivos a recibir
get pide una copia del archivo remoto.
send evñia un archivo al servidor 
rename renombra un archivo remoto
dele borra los archivos remotos.
rmdir borra un directorio remoto

Por ejemplo, podremos abrir una terminal y conectarnos con el medio requerido. En Ubuntu podremos abrir una terminal con Ctrl+Alt+t y entrar cliente sftp (recomendado). Lo haremos por medio de:

sftp

...o s queremos el modelo seguro (recomendado), usaremos simplemente

ftp

Al ingresar a nuestro programa cliente de FTP, nuestro prompt del intérprete de comandos cambiará para indicarnos el cliente:

sftp>

Esto indica que estamos operando desde el cliente de FTP. Lo siguiente será conectarnos al servidor remoto de ftp. Ello lo haremos ingresando en el prompt ftp> el comando open, seguido de la dirección del servidor. En caso de un FTP público sería:

sftp> open servidor.remoto

...o bien, si se trata de un servidor con permisos de entrada, sería:

sftp> open usuario@servidor

El cliente intentará conectarse. Al establecer la conexión  podría mostrarse un indicador de status si es que el servidor cuenta con el mismo, y solicitarnos el usuario y contraseña del servidor (si el servidor requiere entrada). Por ejemplo:

Esto nos indica el modo de transferencia establecido por el protocolo FTP. El más normal es sistema binary, que nos asegura control de transferencia. El otro modo disponible es el sistema ascii, que nos normalmente se usa para transferencias tipo texto o principalmente para el órdenes de los comandos para el servidor remoto. Afortunadamente, los clientes actuales conmutan automáticamente estos modos de transferencia de acuerdo a la necesidad de lo realizado.

Una vez dentro del servidor de FTP, naturalmente podremos utilizar los comandos de operación que suelen ser los operaciones similares a UNIX o del intérprete de comandos de Windows. En el caso de los clientes FTP más simples, es una buena costumbre revisar siempre cuál es nuestro directorio de trabajo actual, pues el prompt de FTP no suele ser explícito en mostrarlo. Para ello usamos el comando:

sftp> pwd

...el sistema nos devolverá cuál es nuestro directorio de trabajo actual. Si queremos ver un listado del los ficheros contenidos en el directorio de trabajo actual, debemos ingresar:

sftp> ls

...o el sistema FTP Windows el consabid comando dir.


Asismismo, podremos subir en los directorios con

sftp> cd directorio/

...o volver un nivel con:

sftp> cd ..

Estos comandos de cambio de directorio de trabajo ("CWD"), deberían provocar un reconocimiento por parde del servidor en forma del mensaje  "250 CWD command successful".

Si quisiéramos descargar un fichero por FTP, utilizamos el comando get ("obtener"). Por ejemplo:

sftp> get archivo.txt

Esto lo descargará en nuestro directorio de trabajo (normalmente la carpeta /home si iniciamos la sesión de FTP desde allí).

La descarga será instantánea (o la mayor velocidad acordada entre nuestro cliente y el servidor). Asimismo, se nos podría presentar un indicativo de status:



Para subir un archivo, empleamos el comando put.

sftp> put archivo.local /directorio/remoto/archivo.remoto

Naturalmente, en este caso el archivo.local se guardará como archivo.remoto en el directorio /directorio/remoto/, el cual debe existir y deberíamos contar con permisos de escritura en el mismo. Si ese no es el caso, podríamos omitir tales parámetros:

sftp> put archivo.local

...y de esta forma archivo.local se enviará con dicho nombre en la carpeta raíz del servidor.

Una vez que hayamos terminado de transferir archivos, debemos cerrar la sesión de FTP. Para ello debemos ingresar:

quit

....y el servidor podría indicarnos un resumen de la sesión de conexión a través del comando 221 de FTP, y regresarnos a nuestro prompt del intérprete de comandos de nuestro sistema.

221-
    Data traffic for this session was 39 bytes in 1 file.
    Total traffic for this session was 7868 bytes in 3 transfers.
221 Thank you for using the FTP service on servidor.org.