Comment utiliser la commande FTP sous Linux

Le protocole de transfert de fichiers est plus ancien que la plupart de nos lecteurs, mais il fonctionne toujours bien. FTP n’a pas la sécurité d’un protocole moderne, mais vous devrez peut-être l’utiliser de toute façon. Voici comment procéder.

Avertissement: n’utilisez pas FTP sur Internet

Soyons clairs dès le départ: le protocole de transfert de fichiers (FTP) remonte au début des années 1970 et a été écrit sans aucun souci de sécurité. Il n’utilise le cryptage pour rien. Les informations de connexion telles que votre nom d’utilisateur et votre mot de passe, ainsi que les données que vous téléchargez ou téléchargez, sont transférées en texte clair. N’importe qui le long du chemin peut voir vos secrets. Cependant, FTP a toujours ses utilisations.

Si vous transférez des fichiers au sein de votre réseau, vous devez être en sécurité, tant que personne sur le réseau ne détecte les paquets et n’écoute les documents sensibles pendant que vous les transférez. Si vos fichiers ne sont en aucun cas confidentiels ou sensibles, les déplacer sur votre réseau interne avec FTP devrait être parfait. Linux a le ftp standard programme de ligne de commande pour traiter précisément ce scénario.

Mais n’utilisez certainement pas la commande ftp pour accéder à des ressources externes sur Internet. Pour cela, utilisez le sftp programme de ligne de commande, qui utilise le protocole de transfert de fichiers SSH sécurisé. Nous présenterons ces deux programmes dans ce didacticiel.

Pour clarifier pourquoi vous ne voulez jamais utiliser FTP sur Internet, jetez un œil à la capture d’écran ci-dessous. Il montre le mot de passe FTP en texte clair. Tout le monde sur votre réseau ou entre vous et le serveur FTP sur Internet peut facilement voir que le mot de passe est «MySecretPassword».

Sans le cryptage, un acteur malveillant pourrait également modifier les fichiers que vous téléchargez ou téléchargez en transit.

Suivi des paquets réseau avec mot de passe en texte clair

La commande ftp

En supposant que vous ayez un compte valide sur un site FTP, vous pouvez vous y connecter avec la commande suivante. Tout au long de cet article, remplacez l’adresse IP dans les commandes par l’adresse IP du serveur FTP auquel vous vous connectez.

ftp  192.168.4.25

Avertissement: vous ne devez utiliser la commande ftp que pour vous connecter aux serveurs sur un réseau local approuvé. Utilisez la commande sftp, décrite ci-dessous, pour transférer des fichiers sur Internet.

  Comment diffuser le match des étoiles de la NBA

commande de connexion ftp dans une fenêtre de terminal

Le serveur FTP répond par un message de bienvenue. Le libellé du message d’accueil variera d’un serveur à l’autre. Il vous demande ensuite le nom d’utilisateur du compte auquel vous vous connectez.

Notez que l’adresse IP du site auquel vous vous connectez est affichée, suivie de votre nom d’utilisateur Linux. Si votre nom de compte sur le serveur FTP est le même que votre nom d’utilisateur Linux, appuyez simplement sur la touche Entrée. Cela utilisera votre nom d’utilisateur Linux comme nom de compte sur le serveur FTP. Si votre nom d’utilisateur Linux et le nom de compte FTP sont différents, saisissez le nom d’utilisateur du compte FTP, puis appuyez sur Entrée.

Connexion au serveur FTP

Vous serez invité à entrer votre mot de passe pour le site FTP. Entrez votre mot de passe et appuyez sur Entrée. Votre mot de passe ne s’affiche pas à l’écran. Si votre nom de compte d’utilisateur FTP et votre mot de passe sont vérifiés par le serveur FTP, vous êtes alors connecté au serveur FTP.

L’invite ftp> vous sera présentée.

compte ftp connecté dans une fenêtre de terminal

Recherche et récupération de fichiers

Tout d’abord, vous voudrez probablement obtenir une liste des fichiers sur le serveur FTP. C’est exactement ce que fait la commande ls. Notre utilisateur voit que le fichier gc.c se trouve sur le serveur FTP et souhaite le télécharger sur son propre ordinateur. Son ordinateur est «l’ordinateur local» dans le langage FTP.

La commande pour récupérer (ou «obtenir») un fichier est get. Notre utilisateur émet donc la commande get gc.c. Ils tapent get, un espace, puis le nom du fichier qu’ils souhaitent récupérer.

Le serveur FTP répond en transférant le fichier sur l’ordinateur local et en confirmant que le transfert a eu lieu. La taille du fichier et le temps de transfert sont également indiqués.

ls
get gc.c

transfert de fichiers ftp dans une fenêtre de terminal

Pour récupérer plusieurs fichiers à la fois, utilisez la commande mget (multiple get). La commande mget vous demandera de confirmer si vous souhaitez télécharger chaque fichier à tour de rôle. Répondez en appuyant sur «y» pour oui et «n» pour non.

Ce serait fastidieux pour un grand nombre de fichiers. Pour cette raison, les collections de fichiers associés sont généralement stockées sur des sites ftp sous forme de fichiers tar.gz ou tar.bz2 uniques.

mget *.c

commande mget dans une fenêtre de terminal

Téléchargement de fichiers sur le serveur FTP

En fonction des autorisations qui ont été accordées à votre compte FTP, vous pourrez peut-être télécharger (ou «placer») des fichiers sur le serveur. Pour télécharger un fichier, utilisez la commande put. Dans notre exemple, l’utilisateur télécharge un fichier appelé Songs.tar.gz sur le serveur FTP.

put Songs.tar.gz

mettre la commande dans une fenêtre de terminal

Comme vous vous en doutez probablement, il existe une commande permettant de placer plusieurs fichiers sur le serveur FTP à la fois. Il s’appelle mput (multiple put). Tout comme la commande mget l’a fait, mput demandera une confirmation «y» ou «n» pour le téléchargement de chaque fichier, un par un.

  Est-il mauvais d'avoir votre ordinateur de bureau sur le sol?

Le même argument pour placer des ensembles de fichiers dans des archives tar s’applique pour placer des fichiers comme il le fait pour obtenir des fichiers. Notre utilisateur télécharge plusieurs fichiers «.odt» avec la commande suivante:

mput *.odt

commande mput dans une fenêtre de terminal

Création et modification de répertoires

Si votre compte utilisateur sur le serveur ftp le permet, vous pourrez peut-être créer des répertoires. La commande pour ce faire est mkdir. Pour être clair, tout répertoire que vous créez avec la commande mkdir sera créé sur le serveur ftp et non sur votre ordinateur local.

Pour changer de répertoire sur le serveur ftp, utilisez la commande cd. Lorsque vous utilisez la commande cd, l’invite ftp> ne changera pas pour refléter votre nouveau répertoire actuel. La commande pwd (print working directory) vous montrera votre répertoire actuel.

Notre utilisateur ftp crée un répertoire appelé musique, change dans ce nouveau répertoire, confirme où il se trouve en utilisant la commande pwd puis télécharge un fichier dans ce répertoire.

mkdir music
cd music
pwd
put songs.tar.gz

commandes cd pwd et mkdir dans une fenêtre de terminal

Pour déplacer rapidement vers le répertoire parent du répertoire courant, utilisez la commande cdup.

cdup

commande cdup dans une fenêtre de terminal

Accès à l’ordinateur local

Pour changer de répertoire sur l’ordinateur local, vous pouvez utiliser la commande lcd à l’invite ftp>. Il est cependant facile de perdre la trace de votre position dans le système de fichiers local. Une méthode plus pratique pour accéder au système de fichiers local consiste à utiliser le! commander.

Le ! La commande ouvre une fenêtre shell sur l’ordinateur local. Vous pouvez faire tout ce que vous pouvez dans ce shell dans une fenêtre de terminal standard. Lorsque vous tapez exit, vous êtes renvoyé à l’invite ftp>.

Notre utilisateur a utilisé le! commande et est entré dans une fenêtre shell sur l’ordinateur local. Ils ont émis une commande ls pour voir quels fichiers sont présents dans ce répertoire, puis ont tapé exit pour revenir à l’invite ftp>.

!
ls
exit

! commande shell dans une fenêtre de terminal

Renommer les fichiers

Pour renommer des fichiers sur le serveur FTP, utilisez la commande renommer. Ici, notre utilisateur FTP renomme un fichier avec renommer puis utilise la commande ls pour lister les fichiers dans le répertoire.

rename songs.tar.gz rock_songs.tar.gz
ls

commande renommer dans la fenêtre du terminal

Suppression de fichiers

Pour supprimer des fichiers sur le serveur FTP, utilisez la commande delete. Pour supprimer plusieurs fichiers à la fois, utilisez la commande mdelete. Il vous sera demandé de fournir une confirmation «y» ou «n» pour la suppression de chaque fichier.

  CameraTweak 2 ajoute des gestes, une minuterie et plus encore à l'application Appareil photo iOS 7

Ici, notre utilisateur FTP a répertorié les fichiers pour voir leurs noms, puis en a choisi un à supprimer. Ils décident alors de tous les supprimer.

ls
delete gc.o
mdelete *.o

commandes ls delete et mdelete dans une fenêtre de terminal

Utilisation de la commande sftp

Les lecteurs familiarisés avec le système d’adressage IP auront remarqué que l’adresse 192.168 du serveur FTP utilisée dans les exemples ci-dessus est une adresse IP interne, également appelée adresse IP privée. Comme nous l’avons prévenu au début de cet article, la commande ftp ne doit être utilisée que sur les réseaux internes.

Si vous souhaitez vous connecter à un serveur FTP distant ou public, utilisez la commande sftp. Notre utilisateur va se connecter à un compte SFTP appelé demo sur le serveur FTP accessible au public situé à test.trebex.net.

Lorsqu’ils se connectent, ils sont informés que la connexion est établie. Ils sont également informés que l’authenticité de l’hébergeur ne peut être vérifiée. Ceci est normal pour la première connexion d’un nouvel hôte. Ils appuient sur «y» pour accepter la connexion.

Étant donné que le nom du compte utilisateur (démo) a été transmis sur la ligne de commande, ils ne sont pas invités à entrer le nom du compte utilisateur. Il leur est demandé uniquement le mot de passe. Ceci est entré, vérifié et accepté, et ils sont présentés avec l’invite sftp>.

sftp [email protected]

connexion à un site sftp dans une fenêtre de terminal

Les commandes FTP que nous avons décrites ci-dessus fonctionneront exactement de la même manière dans une session SFTP, avec les exceptions suivantes.

Pour supprimer un fichier, utilisez rm (FTP utilise delete)
Pour supprimer plusieurs fichiers, utilisez rm (FTP utilise mdelete)
Pour vous déplacer vers le répertoire parent, utilisez cd .. (FTP utilise cdup)

Notre utilisateur a utilisé quelques commandes dans sa session SFTP. Ils ont utilisé ls pour lister les fichiers et cd pour passer dans le répertoire pub. Ils ont utilisé le pwd pour imprimer le répertoire de travail.

commandes sftp dans une fenêtre de terminal

Il existe d’autres options pour transférer des fichiers dans le monde Linux, notamment scp (copie sécurisée), mais nous nous sommes concentrés ici sur FTP et SFTP. Utilisées dans les scénarios applicables, ces deux commandes vous seront utiles et vos besoins en matière de stockage et de récupération de fichiers.