{{tag>Trusty Xenial ftp internet }}
----
{{ https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/FileZilla_logo.svg/380px-FileZilla_logo.svg.png?60}}
====== 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 ».
{{https://wiki.gandi.net/_media/fr/hosting/filezilla01-fr.png}}
===== Installation =====
==== Via les dépôts officiels ====
Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>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 [[https://filezilla-project.org/download.php?type=client|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é [[:tutoriel:comment_lancer_application|ici]] ou via le [[:terminal]] (toutes [[:versions]] ou [[:variantes]] d'Ubuntu) avec la [[:commande_shell|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... -> __N__ouveau//. Choisir un nom (« Cachés » c'est très bien...). Cliquer sur le bouton "En ajouter __p__lus". 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 «Fichi__e__rs» et «Ré__p__ertoires», à 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 :
{{applications:filezilla_nautilus.png}}
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 =====
Ces dires sont basés sur experience utilisateur datée
Comme beaucoup l'ont surement 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. **[[:filezilla#methode_cryptkeeper|Cryptkeeper]]** est un peu plus simple et **[[:filezilla#methode_veracrypt|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é.
==== 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.
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 **[[apt>cryptkeeper]]** et **[[apt>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. ^_^
===== 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**.
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 :
Nouveau site
0
0Nouveau site
Si vous faites des copier/coller de l'un à l'autre, attention à ne pas avoir 2 ////
==== 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)** [[https://filezilla-project.org/|Site officiel Filezilla]].
* **(fr)** [[https://framalibre.org/content/filezilla|Article Framasoft]].
L'article en français est exclusivement pour windows.
* **(fr)** [[https://www.youtube.com/watch?v=sfkRX8cCA4U|Vidéo HD de la présentation du programme Filezilla sous Ubuntu]].
* **(en)** Si vous rencontrez un soucis avec le Drag'n Drop sous Filezilla (crash) ce lien **(en)** montre la manipulation à faire [[https://wiki.wxpython.org/InstallingOnUbuntuOrDebian|qui consiste à mettre à jour wxwidget]].
----
//Contributeurs : [[utilisateurs:Oby.|Oby.]], [[utilisateurs:adam0509]], [[utilisateurs:dYpn]], [[utilisateurs:agentcobra]] (configuration), [[utilisateurs:Karting06]], Pedro-le-fou (sécurité des sites enregistrés), [[utilisateurs:mimidevos]]//.