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 ».

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.

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

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 !

Ces dires sont basés sur expérience utilisateur datée

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 ToolsOptionsIntegrationURL 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

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.

KeePass2 est disponible sur de très nombreuses plateformes, y compris Windows, Android ou iOS. Il permet également de stocker sa base de données en ligne par ex. sur un serveur Webdav ou SFTP, et donc de garder tout ses mots de passes synchronisés sur tous ses appareils, n'importe où.

Méthode cryptkeeper

Cryptkeeper n'est plus présent dans les dépôts officiels d'Ubuntu depuis Bionic.

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)

Si cryptkeeper ne se lance pas au démarrage d'Ubuntu, il suffit de l'ajouter dans la liste des applications au démarrage (sa commande est simplement 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 …

Pensez à autoriser le script en exécution, et à réduire les droits dessus pour que seul votre utilisateur puisse l'exécuter, tel que :
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. ^_^

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.

Dans la version snap de FileZilla (beta) ces fichiers se trouvent dans : ./snap/filezilla/17/.config/filezilla/

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 !

L'article en français est exclusivement pour windows.


Contributeurs : Oby., adam0509, dYpn, agentcobra (configuration), Karting06, Pedro-le-fou (sécurité des sites enregistrés), mimidevos.

  • filezilla.txt
  • Dernière modification: Le 11/12/2024, 20:23
  • par 91.161.152.215