Installer un serveur FTP sur votre Raspberry Pi
Vous voulez transférez des fichiers entre votre Raspberry Pi et votre ordinateur à distance sans passer pas un média amovible (clé usb/disque dur externe) et sans éteindre la Raspberry pour transférer directement sur sa carte SD ? Nous allons voir comment se faciliter la vie grâce à un serveur FTP (file transfer protocol) qui comme son nom l’indique permet de transférer des fichiers (en recevoir ou en envoyer) avec un serveur distant.
Installation du serveur FTP
Il existe aujourd’hui plusieurs solutions de serveur FTP et celle que nous choisissons pour ce tutoriel est la plus souvent utilisée à savoir proftpd. Pour l’installer, rien de plus simple il suffit d’exécuter la commande suivante :
sudo apt install proftpd
Au cours de l’installation, la fenêtre ci-dessous apparaîtra.
Il vous sera proposé deux méthodes d’utilisation du serveur FTP :
- Depuis inetd qui permet d’exécuter le serveur uniquement lorsque qu’un client tente de se connecter dessus. Cela ralentit légèrement la connexion au serveur mais permet d’économiser des ressources sur la Raspberry Pi
- Indépendamment qui va laisser tourner le serveur FTP non-stop ce qui permet d’accélérer la connexion et qui est pratique dans le cas où on prévoit un nombre de connexions élevé.
A moins que vous envisagiez de mettre ce serveur FTP sur votre Raspberry Pi à disposition de plusieurs personnes qui comptent se connecter régulièrement, nous vous conseillons de choisir l’option depuis inetd.
Votre serveur FTP est installé et vous pouvez d’ores et déjà vous connecter à celui-ci mais avant de vous montrer comment vous connectez, nous allons vous présenter les principales configurations à effectuer en fonction de l’utilité que vous aurez de votre serveur FTP
Configuration de proftpd
Commencez pour ouvrir le fichier de configuration avec les droits super utilisateur
sudo nano /etc/proftpd/proftpd.conf
Il y a pas mal de lignes de configuration. Nous allons indiquer celles que nous considérons comme les plus importantes.
La première ligne que nous considérons comme importante est TimeoutIdle qui correspond à la durée d’inactivité, en secondes, après laquelle un utilisateur sera automatiquement déconnecté.
Ensuite, il se peut que vous ayez plusieurs utilisateurs sur votre Raspberry, et vous ne voulez probablement pas qu’un utilisateur ait accès aux comptes des autres. Pour cela il suffit que vous dé commentiez la ligne DefaultRoot en retirant le #. Cela permettra lors de la connexion d’un utilisateur qu’il arrive directement dans son dossier utilisateur comme l’argument de configuration l’indique avec le ~ (/home/pi par exemple) et il ne pourra pas retourner dans les dossiers parents.
Enfin, si vous voulez que votre serveur FTP soit public, vous pouvez autoriser tous les utilisateurs à se connecter sans mot de passe. Pour cela, il suffit de dé commenter (en retirant tous les # en début de ligne) toutes les lignes du bloc qui se trouve entre <Anonymous ~ftp> et </Anonymous>. Pour se connecter, il faudra tout de même se servir d’un nom d’utilisateur, anonymous mais sans mot de passe.
Une fois que vous avez fini de configurer proftpd, vous pouvez activer les modifications en exécutant la commande :
sudo service proftpd reload
Accéder à votre serveur FTP
Maintenant que votre serveur FTP est installé et configuré, il ne reste plus qu’à s’y connecter pour pouvoir commencer le transfert de fichiers. Pour cela vous pouvez vous connecter directement depuis votre navigateur web avec une url de type
ftp://ip-raspberry
par exemple
ftp://192.168.1.21
Il vous suffit de rentrer les identifiants de votre utilisateur Raspberry Pi et vous serez connecté. Cela ne reste pas très pratique car vous ne pourrez pas envoyer de fichier vers le serveur. Nous vous conseillons l’utilisation d’un client FTP comme Filezilla.
Pour vous connecter renseignez l’IP de votre Raspberry Pi, les identifiants de votre utilisateur et le port 21 (port par défaut du protocole FTP). Vous pouvez maintenant transférer tous vos fichiers entre votre ordinateur et votre Raspberry Pi
Bonjour et merci pour votre tuto.
Certains équipement industriels (ou autres) n’incluant pas encore SFTP ou SCP ne peuvent pousser des fichiers que sur FTP.
Votre démonstration a donc du sens dans ce monde à condition d’avoir l’esprit ouvert.
Grâce à vous j’ai pu tester rapidement et facilement ma chaîne de données et valider certains principe en FTP pour après passer sur des modes plus sécurisés.
Cordialement.
Ravi que cela ai pu t’aider alors !
Hum… Autant je comprendrais d’utiliser FTP si le principe était d’accéder sans client ou si c’est uniquement pour offrir un accès public à des fichiers, autant je m’étonne que SFTP (supporté par Filezilla justement) ne soit pas recommandé à la place.
OpenSSH est aussi simple à mettre en place et il suffit d’une commande de plus pour n’autoriser que sftp (et pas ssh en général).
Bon, ça ne veut pas dire que FTP est une mauvaise idée, mais le protocole n’a pas vraiment évolué avec le temps et tout transmettre en clair (mots de passe inclus) semble abérant aujourd’hui. Je n’aurais pas dit la même chose si openSSH était bien plus compliqué à configurer que proftpd, maos ce n’est pas le cas…
En revanche, en usage « accès distant public, sans mot de passe », FTP reste intéressant.
Salut, nous avons vraiment fait cet article dans l’idée de proposer un serveur FTP (notamment pour les système qui ne supporterai pas le SFTP), nous ajouterons peut-être plus tard un autre article dédié à SFTP.
Sinon, pour nous par défaut, la chose est très claire, ont fait tout en SCP, donc pas de serveur autre que SSH.
Bonjour,
je ne comprends pas le but de cette démonstration, pour deux bonnes raisons :
1) openssh est installé par défaut et donc un serveur sftp est disponible sans avoir besoin d’installer un daemon supplémentaire.
2) FTP n’est pas sécurisé,
Alors je vous conseillerai (biensûr vous faites ce que vous voulez, mais je défend la sécurité pour tout à chacun), c’est de faire un tuto sur comment se connecter via SFTP et non FTP.
Salut, le but ici est de faire vraiment du FTP, mais effectivement SFTP est préférable dans un cas un peu plus sérieux.
Nous avons ajouter une alerte dans ce sens.
Bonjour,ce tuto est intéressant. Est-ce qu’il est approprié d’ouvrir un tel accès FTP sur internet ?
Est-ce que dans ce cas la connexion serait chiffrée ? Ainsi que la transmission des identifiants de connexion ? J’ai entendu parlé du sftp mais je connais mal.
Merci,
NH
Salut, ce n’est pas dangereux en soit d’ouvrir un FTP sur internet (tant que les accès sont protégés par de solides mot de passe), mais les échanges ne seront pas chiffrés.
En activant SSH sur la Raspberry Pi, tu pourras te connecter en SFTP à la place.