boites aux lettres

Installer un serveur FTP sur votre Raspberry Pi

Mis à jour le 10 décembre 2017 - 8 Commentaires - , , , , , ,

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.

proftpd installation

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.

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

Attention néanmoins, FTP n’est pas un protocole chiffré. Si vous souhaitez faire transiter des informations sensibles, nous vous conseillons plutôt d’utiliser SFTP !

 

4.2/5 - (18 votes)
Partager
Newsletter
Auteur :
Raspberry Pi FR
Rejoignez la communauté Raspberry Pi
Un ordinateur à 35€ déjà vendu à 10 millions d'exemplaires
ACHETEZ LA NOUVELLE RASPBERRY PI 4
Tutoriels en rapport
Installer un media-center avec OSMC sur votre Raspberry Pi ! RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi Installer un serveur web sur votre Raspberry (Apache + PHP + MySQL) Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 Installer un serveur Minecraft sur votre Raspberry Pi !
8 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.

  1. steph dit :

    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.

    1. Ravi que cela ai pu t’aider alors !

  2. Jonathan dit :

    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.

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

  3. hyt82909 dit :

    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.

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

  4. Nathanaël dit :

    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

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

Partager
Inscription à la Newsletter
Inscrivez-vous à la Newsletter.
Vous avez aimé cet article ?
Inscrivez-vous et restez informé !