El Protocolo de transferencia de archivos es más antiguo que la mayoría de nuestros lectores, pero sigue siendo fuerte. FTP no tiene la seguridad de un protocolo moderno, pero es posible que deba usarlo de todos modos. A continuación, le indicamos cómo hacerlo.
¿De qué vamos a hablar?
- 1 Advertencia: No use FTP a través de Internet
- 2 El comando ftp
- 3 Inicio de sesión en el servidor FTP
- 4 Mirar a su alrededor y recuperar archivos
- 5 Carga de archivos en el servidor FTP
- 6 Creación y cambio de directorios
- 7 Acceso al equipo local
- 8 Cambiar el nombre de los archivos
- 9 Eliminación de archivos
- 10 Uso del comando sftp
Advertencia: No use FTP a través de Internet
Dejemos esto claro desde el principio: el Protocolo de transferencia de archivos (FTP) se remonta a principios de la década de 1970 y fue escrito sin tener en cuenta la seguridad. No utiliza cifrado para nada. Las credenciales de inicio de sesión, como su nombre de usuario y contraseña, así como los datos que descarga o carga, se transfieren en texto sin cifrar. Cualquiera en el camino puede ver tus secretos. Sin embargo, FTP todavía tiene sus usos.
Si está transfiriendo archivos dentro de su red, debe estar seguro, siempre y cuando nadie en la red esté olfateando paquetes y espiando cualquier documento confidencial a medida que los transfiere. Si sus archivos no son confidenciales o sensibles de ninguna manera, moverlos por su red interna con FTP debería estar bien. Linux tiene el estándar ftp
programa de línea de comandos para hacer frente precisamente a ese escenario.
Pero definitivamente no utilice el ftp
para acceder a recursos externos a través de Internet. Para eso, use el sftp
programa de línea de comandos, que utiliza el protocolo seguro de transferencia de archivos SSH. Presentaremos estos dos programas en este tutorial.
Para aclarar por qué nunca desea usar FTP a través de Internet, eche un vistazo a la siguiente captura de pantalla. Muestra la contraseña ftp en texto sin formato. Cualquier persona en su red o entre usted y el servidor FTP en Internet puede ver fácilmente que la contraseña es “MySecretPassword”.
Sin el cifrado, un actor malicioso también podría modificar los archivos que está descargando o cargando en tránsito.
El comando ftp
Suponiendo que tiene una cuenta válida en un sitio FTP, puede conectarse a ella con el siguiente comando. A lo largo de este artículo, sustituya la dirección IP en los comandos por la dirección IP del servidor FTP al que se está conectando.
ftp 192.168.4.25
Advertencia: Sólo debe utilizar el ftp
para conectarse a servidores de una red local de confianza. Utilice el sftp
, que se trata a continuación, para transferir archivos a través de Internet.
El servidor FTP responde con un mensaje de bienvenida. La redacción del saludo variará de un servidor a otro. Luego le pide el nombre de usuario de la cuenta en la que está iniciando sesión.
Observe que se muestra la dirección IP del sitio al que se está conectando, seguida de su nombre de usuario de Linux. Si el nombre de su cuenta en el servidor FTP es el mismo que su nombre de usuario de Linux, simplemente presione la tecla Enter. Esto usará su nombre de usuario de Linux como nombre de cuenta en el servidor FTP. Si el nombre de usuario de Linux y el nombre de la cuenta FTP son diferentes, escriba el nombre de usuario de la cuenta FTP y, a continuación, presione Entrar.
Inicio de sesión en el servidor FTP
Se le pedirá que introduzca su contraseña para el sitio FTP. Introduzca su contraseña y pulse Intro. Su contraseña no se muestra en la pantalla. Si el servidor FTP verifica la combinación de nombre de cuenta de usuario FTP y contraseña, iniciará sesión en el servidor FTP.
Se le presentará el ftp>
pronto.
Mirar a su alrededor y recuperar archivos
Primero, probablemente querrá obtener una lista de los archivos en el servidor FTP. El ls
el comando hace precisamente eso. Nuestro usuario ve el archivo gc.c
está en el servidor FTP y quiere descargarlo en su propia computadora. Su computadora es la “computadora local” en el lenguaje FTP.
El comando para recuperar (u “obtener”) un archivo es get
. Nuestro usuario, por lo tanto, emite el comando get gc.c
. Escriben get
, un espacio y, a continuación, el nombre del archivo que desean recuperar.
El servidor FTP responde transfiriendo el archivo al equipo local y confirmando que la transferencia tuvo lugar. También se muestra el tamaño del archivo y el tiempo que tardó en transferirse.
ls
get gc.c
Para recuperar varios archivos a la vez, utilice el botón mget
(multiple get) comando. El mget
le pedirá que confirme si desea descargar cada archivo a su vez. Responda presionando “y” para sí y “n” para no.
Esto sería tedioso para un gran número de archivos. Debido a esto, las colecciones de archivos relacionados generalmente se almacenan en sitios ftp como archivos tar.gz o tar.bz2 únicos.
mget *.c
Carga de archivos en el servidor FTP
Dependiendo de los permisos que se hayan otorgado a su cuenta FTP, es posible que pueda cargar (o “poner”) archivos en el servidor. Para cargar un archivo, utilice el botón put
mandar. En nuestro example, el usuario está cargando un archivo llamado Songs.tar.gz
al servidor FTP.
put Songs.tar.gz
Como probablemente espere, hay un comando para poner varios archivos en el servidor FTP a la vez. Se llama mput
(puesta múltiple). Al igual que el mget
comando hizo, mput
solicitará una confirmación “y” o “n” para la carga de cada archivo, uno por uno.
El mismo argumento para poner conjuntos de archivos en archivos tar se aplica para poner archivos como lo hace para obtener archivos. Nuestro usuario está cargando múltiples archivos “.odt” con el siguiente comando:
mput *.odt
Creación y cambio de directorios
Si su cuenta de usuario en el servidor ftp lo permite, es posible que pueda crear directorios. El comando para hacer esto es mkdir
. Para ser claros, cualquier directorio que cree con el mkdir
se creará en el servidor ftp y no en el equipo local.
Para cambiar los directorios en el servidor ftp, utilice el comando cd
mandar. Cuando utiliza el cd
comando el comando ftp>
no cambiará para reflejar el nuevo directorio actual. El pwd
(imprimir directorio de trabajo) le mostrará su directorio actual.
Nuestro usuario ftp crea un directorio llamado música, cambia a ese nuevo directorio, confirma dónde están usando el pwd
a continuación, carga un archivo en ese directorio.
mkdir music
cd music
pwd
put songs.tar.gz
Para moverse rápidamente al directorio primario del directorio actual, utilice el comando cdup
mandar.
cdup
Acceso al equipo local
Para cambiar el directorio en el equipo local, puede utilizar el comando lcd
en el comando ftp>
pronto. Sin embargo, es fácil perder la pista de dónde se encuentra en el sistema de archivos local. Un método más conveniente para acceder al sistema de archivos local es utilizar el !
mandar.
El !
abre una ventana de shell en el equipo local. Puede hacer cualquier cosa en este shell que pueda en una ventana de terminal estándar. Al escribir exit
se le devuelve al ftp>
pronto.
Nuestro usuario ha utilizado el !
e ingresó una ventana de shell en el equipo local. Han emitido un ls
para ver qué archivos están presentes en ese directorio y, a continuación, escriba exit
para volver al ftp>
pronto.
!
ls
exit
Cambiar el nombre de los archivos
Para cambiar el nombre de los archivos en el servidor FTP, utilice el botón rename
mandar. Aquí nuestro usuario FTP cambia el nombre de un archivo con rename
y, a continuación, utiliza el ls
para enumerar los archivos en el directorio.
rename songs.tar.gz rock_songs.tar.gz
ls
Eliminación de archivos
Para eliminar archivos en el servidor FTP, utilice el botón delete
mandar. Para eliminar varios archivos a la vez, utilice el botón mdelete
mandar. Se le pedirá que proporcione una confirmación “y” o “n” para la eliminación de cada archivo.
Aquí nuestro usuario de FTP ha enumerado los archivos para ver sus nombres y luego ha elegido uno para eliminar. Luego deciden eliminarlos todos.
ls
delete gc.o
mdelete *.o
Uso del comando sftp
Los lectores familiarizados con el sistema de direccionamiento IP habrán notado que la dirección 192.168 del servidor FTP utilizado en los ejemplos anteriores es una dirección IP interna, también llamada dirección IP privada. Como advertimos al principio de este artículo, el ftp
sólo debe utilizarse en redes internas.
Si desea conectarse a un servidor FTP remoto o público, utilice el comando sftp
mandar. Nuestro usuario se va a conectar a una cuenta SFTP llamada demo
en el servidor FTP de acceso público ubicado en test.trebex.net
.
Cuando se conectan, se les informa que la conexión se ha establecido. También se les informa que la autenticidad del anfitrión no se puede verificar. Esto es normal para la primera conexión de un nuevo host. Presionan “y” para aceptar la conexión.
Porque el nombre de la cuenta de usuario (demo
) se pasó en la línea de comandos, no se les solicita el nombre de la cuenta de usuario. Solo se les solicita la contraseña. Esto se ingresa, verifica y acepta, y se presentan con el sftp>
pronto.
sftp demo@test.rebex.net
Los comandos FTP que hemos descrito anteriormente funcionarán igual en una sesión SFTP, con las siguientes excepciones.
- Para eliminar un archivo, utilice
rm
(Usos de FTPdelete
) - Para eliminar varios archivos, utilice
rm
(Usos de FTPmdelete
) - Para desplazarse al directorio primario, utilice
cd ..
(Usos de FTPcdup
)
Nuestro usuario ha utilizado algunos comandos en su sesión SFTP. Tienen uso ls
para enumerar los archivos, y cd
para cambiar al directorio pub. Han utilizado el pwd
para imprimir el directorio de trabajo.
Allí son otras opciones para transferir archivos en el mundo Linux, en particular scp
(copia segura), pero nos hemos centrado en FTP y SFTP aquí. Utilizados en los escenarios aplicables, estos dos comandos le servirán bien a usted y a sus necesidades de almacenamiento y recuperación de archivos.