Client FTP : FileZilla
FileZilla est un client FTP libre (GNU) convenant aussi bien au débutant qu'à l'utilisateur confirmé. Il possède de nombreuses fonctionnalités :
- Gestionnaire des connexions ;
- Connexion par protocole SSH (SFTP) ;
- File d'attente ;
- Répertoire de liens déjà visités ;
- Compression des données en cours de chargement, ce qui permet d'accélérer la vitesse de transfert ;
- Réglage de la bande passante ;
- Doubles fenêtres paramétrables « répertoire local/ordinateur distant ».
Installation
Via les dépôts officiels
Pour installer ce logiciel, il suffit d'installer le paquet filezilla.
Via l'archive du site Filezilla
Pour toutes les versions d'ubuntu, FileZilla est directement téléchargeable en exécutable (sans installation) sur le site officiel en .tar.gz2
Décompressez l'archive puis lancer le fichier "filezilla" dans le répertoire "bin"
Si ce clic direct ne marche pas, ou si vous souhaitez déplacer le contenu téléchargé des fichiers de FileZilla directement dans votre répertoire "usr" pour une meilleure organisation de votre espace de travail, entrez ces commandes suivantes dans le terminal
1-Une fois l’archive décompressée, rendez-vous dans le répertoire Filezilla :
cd ~/VOTRE_RÉPERTOIRE_DE_TÉLÉCHARGEMENT/FileZillaX #X étant le numéro de la version de FileZilla
2-Copiez le répertoire "bin" dans "/usr/bin"
sudo cp -r bin/* /usr/bin
3-Copiez le répertoire "share" dans "/usr/share"
sudo cp -r share/* /usr/share
4-Copiez le répertoire "lib" dans "/usr/lib"
sudo cp -r lib/* /usr/lib
Filezilla est maintenant parfaitement intégré dans votre système.
Configuration
C'est simple et facile : Il suffit d'ouvrir le gestionnaire de sites et de mettre vos informations données par le serveur FTP
- l'adresse du serveur
- le port (par défaut le port 21 )
- l'utilisateur
- le mot de passe
Utilisation
Lancez l'application comme indiqué ici ou via le terminal (toutes versions ou variantes d'Ubuntu) avec la commande suivante :
filezilla
Ne pas afficher les dossiers cachés
Un problème qui peut rapidement vous gâcher la vie, c'est l'affichage des dossiers et fichiers cachés par défaut. Pour pallier cela, il va falloir configurer un « Filtre » :
Version francisée : Cliquer sur l'icône Gestion des filtres → Éditer les règles de filtrages… → Nouveau. Choisir un nom (« Cachés » c'est très bien…). Cliquer sur le bouton "En ajouter plus". Dans le menu déroulant, sélectionner "Nom du fichier" puis « commence par ». Dans le champ le plus à droite mettre un « . ». Vérifier que les deux cases «Fichiers» et «Répertoires», à la section « Le filtre s'applique à :» sont cochées puis Valider. De retour dans la section "Jeu de filtres", cocher la case placée devant le nom du nouveau filtre « Cachés » pour les filtres locaux et/ou les filtres distants.
La fenêtre est scindée en deux : à gauche pour votre disque-dur, à droite pour le serveur auquel vous vous connectez. Cochez donc celle de gauche. Et enfin, Validez.
Avoir une interface plus conviviale
Vous l'aurez remarqué, si vous utilisez Nautilus ou Thunar vos raccourcis personnels ne sont pas pris en compte, ce qui peut être gênant et handicapant pour travailler efficacement.
Heureusement, FileZilla supporte le "drag'n'drop" (glisser/déposer). Vous pouvez donc utiliser un bureau spécifique afin de faire comme ceci :
Ainsi donc, vous pouvez facilement téléverser vos fichiers en vous promenant comme vous avez l'habitude de le faire !
FileZilla et la sécurité des sites enregistrés
Comme beaucoup l'ont sûrement remarqué, FileZilla ne chiffre pas son dossier de configuration (~/.filezilla) mais on n'y fait pas toujours attention car dans le logiciel, les mots de passe n'apparaissent pas. Cependant la simple commande suivante affichera tout :
cat ~/.config/filezilla/sitemanager.xml
La méthode conseillée est de contourner ce problème au moyen d'un gestionnaire de mots de passe comme KeePassX. Non seulement ce gestionnaire permet de chiffrer efficacement la base de données de vos mots de passe en les protégeant simplement avec un mot de passe principal, mais il permet d'exécuter des commandes en un clic sur un mot de passe enregistré.
Deux autres méthodes permettent de sécuriser votre répertoire de configuration de FileZilla contre les utilisateurs indiscrets de votre ordinateur et contre les logiciels espions. Cryptkeeper est un peu plus simple et VeraCrypt est un peu plus sûr et pratique.
Cependant dans les 2 cas, votre répertoire .filezilla/ sera toujours vulnérable au moins pendant l'utilisation de FileZilla car il sera déchiffré. En modifiant un peu ces 2 méthodes, vous pouvez utiliser plusieurs répertoires de configuration contenant les sites classés par sensibilité.
Remarque au 11/12/2024. Tout n'est effectivement pas chiffré (Remplacé ci-dessous par des X. Mais certaines lignes le sont.
X@X:~/.config/filezilla$ cat recentservers.xml <?xml version="1.0" encoding="UTF-8"?> <FileZilla3 version="3.66.5" platform="*nix"> <RecentServers> <Server> <Host>XXX.XXX.XXX.XXX</Host> <Port>XXXXX</Port> <Protocol>0</Protocol> <Type>0</Type> <User>freebox</User> <Pass encoding="base64">RnJhbmNpc0VkaXRo</Pass> <Logontype>1</Logontype> <PasvMode>MODE_DEFAULT</PasvMode> <EncodingType>Auto</EncodingType> <BypassProxy>0</BypassProxy> </Server> </RecentServers> </FileZilla3>
Méthode KeePassX
KeePassX (ou son alternative Keepass2) est un gestionnaire de mots de passe robuste, sécurisé et fiable.
Il faut créer une nouvelle base de données, qu'on pourra alimenter avec tous ses mots de passes y compris les mots de passe FTP. Pour lancer automatiquement FileZilla pour les mots de passes FTP, procédez ainsi :
- rendez-vous dans le menu Tools → Options → Integration → URL Override
- ici on peut spécifier des lignes de commandes à lancer pour chaque protocole (http, ftp, sftp, webdav, on peut même inventer ses propres protocoles).
- on peut passer les infos (nom d'utilisateur, mot de passe, hôte) en variable, donc on créé un scheme ftp avec dans le champs URL Override :
cmd://filezilla "ftp://{USERNAME}:{PASSWORD}@{URL:RMVSCM}:21":
- Si on utilise Flatpak il faudra formuler la commande comme cela pour que Filezilla se lance :
cmd://flatpak run --branch=stable --arch=x86_64 --command=filezilla org.filezillaproject.Filezilla "ftp://{USERNAME}:{PASSWORD}@{URL:RMVSCM}:21"
- on valide (et on s'assure que le scheme est bien coché dans la liste)
À partir de là on peut enregistrer un accès à un serveur FTP ainsi :
- Title : ce qu'on veut (pour reconnaître l'accès)
- User name : nom d'utilisateur FTP
- Password : mot de passe FTP
- URL : ftp://nom_de_lhote_FTP
On pourra alors lancer FileZilla et se connecter automatiquement via un simple double-clic sur le champs URL. Il n'est donc plus nécessaire d'utiliser le gestionnaire de mot de passe mal sécurisé de FileZilla.
Méthode cryptkeeper
Alors voilà mon procédé: on va utiliser cryptkeeper pour chiffrer le répertoire de configuration de FileZilla et zenity pour afficher une alerte bloquante.
Tout d'abord il faut installer les paquets cryptkeeper et zenity. Ensuite ajoutez un répertoire à chiffrer dans cryptkeeper, peu importe le chemin du répertoire chiffré, il faut juste que le chemin du répertoire déchiffré soit ~/.filezilla . (Je ne détaille pas la procédure ici)
cryptkeeper
). Une fois lancé, un trousseau de clés apparait parmi les icones de minimisation de la barre Ubuntu.
Un simple clic gauche sur cette icone affiche la liste des répertoires chiffrés/déchiffrés et de quoi créer/importer des dossiers chiffrés.
Ensuite le petit souci qu'on pourra avoir, c'est évidemment de démarrer FileZilla avant d'avoir déchiffré le répertoire de configuration. Résultat : FileZilla va créer un nouveau répertoire ~/.filezilla et il faudra le supprimer à la main avant de déverrouiller notre répertoire chiffré (sinon cryptkeeper affichera un message disant que le répertoire cible existe déjà) et de relancer FileZilla. C'est ici que zenity nous sera utile.
Ma petite solution, c'est de modifier le raccourci dans la barre de raccourcis (et éventuellement le menu de Gnome Applications > Internet > Filezilla) comme suit.
On crée un petit script que l'on appelle .filezilla_p et que l'on mettra dans notre répertoire personnel (sinon, adaptez les chemins dans la suite). Ensuite il suffit de remplacer la commande filezilla
dans le raccourci par /home/USER/.filezilla_p
(USER est à remplacer par votre nom d'utilisateur).
Contenu de /home/USER/.filezilla_p :
zenity --title 'FileZilla' --info --text='Le répertoire est-il déverrouillé ?' ; filezilla
Le tour est joué, si on lance FileZilla avec notre raccourci, une boite de dialogue bloquante s'affiche (avant le lancement même de FileZilla) et ainsi on peut déchiffrer notre répertoire ~/.filezilla avec cryptkeeper si c'est pas déjà fait. Ensuite on clique sur Valider et FileZilla se lance.
Après avoir fermé FileZilla, il faut rechiffrer le répertoire ~/.filezilla en le "démontant" avec cryptkeeper.
Méthode VeraCrypt
VeraCrypt est un utilitaire gratuit disponible sur : https://veracrypt.codeplex.com/
Depuis la version 1.0f, il est fonctionnel sur GNU/Linux et se télécharge directement sur : https://veracrypt.codeplex.com/releases/view/565079
À savoir que cet outil se gère en mode console et ou graphique.
Nous utiliserons un volume chiffré dans lequel nous copierons le répertoire ~/.filezilla nécessaire.
Le script de lancement personnalisé
#! /bin/bash veracrypt --mount ~/Documents/FZ_volume_chiffré ~/.filezilla && filezilla veracrypt --dismount ~/.filezilla/
L'avantage de VeraCrypt est que, si vous avez créer votre volume chiffré avec mot de passe, VeraCrypt vous demandera celui-ci, ainsi que celui de votre compte administrateur, par le biais de fenêtres graphiques - si vous avez installé la version graphique, bien sûr.
Il ne reste plus qu'à modifier l'appel de FileZilla par l'appel du script ci-dessus …
chmod 0700 veracrypt_filezilla
Le répertoire factice ou leurre
Démontez votre fichier chiffré s'il est monté. Lancez dans un terminal la commande filezilla
simplement pour qu'il crée un répertoire ~/.filezilla/ de base. Fermez ensuite FileZilla. Maintenant si vous montez votre fichier chiffré comme étant ~/.filezilla/, cela ne pose aucun problème (à la différence de cryptkeeper) et si vous lancez à nouveau FileZilla, vos sites sont présents. Cette astuce nous permet de conserver un répertoire ~/.filezilla/ factice, dépourvu de toute information utile, qui devrait satisfaire les personnes ou logiciels malveillants. Je vous conseille de mettre un repère dans votre répertoire factice afin de voir en un coup d'oeil si ~/.filezilla/ est le répertoire factice ou le vrai (j'ai ajouté un fichier vide nommé FZ dans le répertoire factice). Vous pouvez même ajouter quelques sites bidons dans votre configuration factice afin de renforcer le sentiment de profonde satisfaction de votre adversaire.
Problèmes rencontrés
Filezilla ne se lance pas
Filezilla ne se lance pas parce qu'il liste tous les disques montés, il suffit juste de démonter tous les disques à part le disque du système d'exploitation. La méthode est assez simple, dans nautilus, clic droit sur la flèche à côté du disque dur et puis le tour est joué. La méthode peut aussi se faire par terminal.
Fichier contenant les sites utilisés
Les fichiers de configuration sont dans le dossier .config/filezilla de votre Dossier personnel.
Vous y trouverez le fichier filezilla.xml
qui contient la configuration mais ne contient plus d'informations de serveurs ftp !
C'est le fichier sitemanager.xml
qui contient la liste de vos serveurs. Si vous migrez depuis une machine sous Windows, cela correspond au fichier recentservers.xml
qui sont dans users/votre_compte_utilisateurAppData/Roaming/FileZilla/
Hormis la seconde ligne qui contient platform="*nix" ou "windows", le reste est identique à ceci près que la version unix/linux contient des lignes supplémentaires :
<Name>Nouveau site</Name> <Comments /> <LocalDir /> <RemoteDir /> <SyncBrowsing>0</SyncBrowsing> <DirectoryComparison>0</DirectoryComparison>Nouveau site</Server>
Si vous faites des copier/coller de l'un à l'autre, attention à ne pas avoir 2 </Server>
Problème de connexion
Il peut arriver que vous ayez ces messages :
Erreur : Server sent disconnect message Erreur : type 2 (protocol error): Erreur : "Too many authentication failures for nom-du-serveur" Erreur : Impossible d'établir une connexion au serveur
Si vous avez un certain nombre de paires de clés SSH, typiquement dans votre $USER/.ssh/ FileZilla va les essayer une par une est s'arrêter à la 6ième : Suivi : Trying Pageant key #5 (pour le voir, basculer Édition→Paramètres puis Débogage, le mettre à 3-Détailler).
La solution de contournement consiste à déplacer vos clés, par exemple dans un répertoire $USER/.ssh/caché/
Penser bien après l'utilisation de filezilla, à les remettre !
Voir aussi
- (en) Site officiel Filezilla.
- (fr) Article Framasoft.
L'article en français est exclusivement pour windows.
- (en) Si vous rencontrez un soucis avec le Drag'n Drop sous Filezilla (crash) ce lien (en) montre la manipulation à faire qui consiste à mettre à jour wxwidget.
Contributeurs : Oby., adam0509, dYpn, agentcobra (configuration), Karting06, Pedro-le-fou (sécurité des sites enregistrés), mimidevos.