Transférer des fichiers sur la Raspberry Pi sans FTP avec SSH.

Transfert de fichiers en SSH.

Je suis certain que vous avez déjà eu besoin de transférer des fichiers depuis votre PC vers votre Raspberry Pi en passant par le réseau. Si c’est le cas, il y a de fortes chances pour que vous ayez dû installer un serveur FTP. Et pourtant, il y avait un moyen beaucoup plus simple…

Dans ce tutoriel nous verrons comment transférer des fichiers depuis notre ordinateur sur notre Raspberry Pi sans avoir à installer de serveur FTP, mais uniquement en utilisant le serveur SSH déjà installé sur la Raspberry Pi et la commande scp !

Le matériel utilisé dans ce tutoriel

Dans ce tutoriel nous allons utiliser le matériel suivant :

Par ailleurs, pour réalisez ce tutoriel vous devrez également avoir activé le serveur SSH de votre Raspberry Pi. Si vous ne savez pas comment faire, consultez notre tutoriel pour activer SSH.

Transférer des fichiers avec SSH, c’est quoi SCP ?

Si vous utilisez la Raspberry Pi vous avez probablement déjà entendu parler de SSH, un outil qui vous permet de prendre le contrôle d’un ordinateur à distance en lignes de commandes. Mais ce que vous ignoriez peut-être, c’est que SSH ne sert pas qu’à ça.

Une des nombreuses utilisations possibles de SSH, c’est SCP, pour Secure CoPy. Il s’agit d’un protocole permettant de transférer des fichiers d’un ordinateur à un autre, en s’appuyant sur le protocole SSH qui chiffrera les données transférées.

Prenez le contrôle de votre Raspberry Pi avec SSH
SSH est un protocole de contrôle à distance avec chiffrement des données.

Pour nous qui travaillons avec la Raspberry Pi, SCP est donc particulièrement intéressant, puisque la Raspberry Pi possède déjà un serveur SSH intégré et que nous n’aurons donc pas à installer ou à configurer un serveur, comme c’est le cas avec FTP.

Si vous ne connaissez pas du tout SSH, vous auriez probablement intérêt à lire notre tutoriel sur SSH avant de continuer. Ce n’est pas indispensable, mais je pense que ça rend les choses plus claires.

Transférer des fichiers avec SCP depuis un ordinateur Linux

Si vous travaillez depuis un ordinateur Linux, rien n’est plus simple que d’envoyer un fichier en utilisant SCP, il va suffire d’utiliser la commande scp depuis votre terminal.

La commande scp s’utilise de la façon suivante : scp <ressource_a_envoyer> <destination>

En premier, vous mettez donc la ressource à envoyer (il peut y en avoir plusieurs, séparées par des espaces) et à la fin de la commande l’endroit où les envoyer.

Les ressources et les destinations sont en fait identifiées par des chemins. Il peut s’agir de simples chemins de fichiers, ou il peut s’agir d’identifiants de connexion associés à des chemins de fichiers.

Transfert d'un fichier en SCP.
Ici par exemple, vous pouvez voir le transfert d’un fichier de sauvegarde vers le répertoire temporaire de la Pi.

Et ça fonctionne comme SSH, vous renseignez un compte utilisateur, un hôte, un chemin, on vous demande le mot de passe du compte, et si le mot de passe est bon le fichier est transféré.

Quelques exemples pour mieux comprendre les chemins SCP.

Pour vous aider à mieux comprendre comment ça fonctionne, voici quelques exemples de chemins et de commandes SCP.

Dans tous les exemples ci-dessous, nous enverrons et récupérerons des fichiers depuis une Raspberry Pi connectée sur le réseau à l’adresse IP 192.168.0.15 et avec l’utilisateur par défaut, pi.

Envoyer le fichier /home/bernard/photo.jpg de votre PC vers le répertoire /home/pi de la Raspberry :

scp /home/bernard/photo.jpg pi@192.168.0.15:/home/pi

 

Récupérer le fichier /home/pi/toto.txt sur la Raspberry Pi et le copier dans le dossier /tmp de votre PC :

scp pi@192.168.0.15:/home/pi/toto.txt /tmp

 

Transférer les fichiers ~/file1 et ~/file2 de votre PC vers le dossier /home/pi de votre Raspberry :

scp ~/file1 ~/file2 pi@192.168.0.15:/home/pi

 

Enfin, cas particulier, transférer tout le dossier /home/pi de votre Raspberry Pi vers un nouveau dossier ~/tmp_pi dans votre PC :

scp -r pi@192.168.0.15:/home/pi ~/tmp_pi

Notez l’utilisation de l’argument -r qui permet le transfert de dossier.

 

Sous Linux donc, rien de plus simple que de transférer un fichier sur ou depuis votre Raspberry Pi avec SCP via le réseau !

Transférer des fichiers sur la Raspberry Pi depuis Windows ou Mac OS

Sous Windows ou Mac OS, comme souvent, nous n’allons pas transférer les fichiers directement en lignes de commandes, mais nous allons utiliser une interface graphique à la place.

Nous allons en fait utiliser un outil que vous connaissez probablement si vous avez déjà utilisé un serveur FTP, FileZilla. En effet, si FileZilla est à l’origine un client FTP, il fait aussi office de client SFTP et SCP.

Rendez-vous sur la page de téléchargement de FileZilla, prenez la version adaptée à votre système, installez là et lancez le logiciel.

Interface d'accueil de FileZilla
Au démarrage de FileZilla seule la partie gauche (votre ordinateur) est disponible.

Une fois FileZilla lancé, cliquez sur « Fichier », « Gestionnaire de site », une fenêtre s’ouvre vous permettant de gérer vos sites. Faîtes « Nouveau Site », la partie de droite vous permet de rentrer les informations de connexion à votre Raspberry Pi.

Dans la partie « Hôte », renseignez l’adresse IP de votre Raspberry Pi (si vous ne la connaissez pas, allez voir notre tutoriel pour trouver l’adresse IP de sa Raspberry Pi).

Dans la partie port, renseignez le port SSH de votre Raspberry Pi, par défaut c’est le 22.

Le plus important, dans la partie « Protocole » sélectionnez SSH File Transfer Protocol, c’est un protocole de transfert basé sur SSH qui a remplacé SCP et qui est supporté par FileZilla.

Enfin, pour la partie « Type d’authentification », choisissez « Normal », et renseignez votre utilisateur Raspberry, pi et votre mot de passe.

Il ne vous reste plus qu’à cliquer sur « Connexion ».

Interface d'ajout d'un site pour le transfert SCP/SFTP.
Vos champs devraient ressembler à peu prêt à ça, en adaptant l’IP bien entendu.

Vous devriez alors voir un message apparaître vous demandant de valider la clé du serveur hôte. Cela vient du fait que contrairement à FTP, SFTP utilise SSH pour chiffrer les données, et a donc besoin pour cela d’une clé de chiffrement. Cliquez sur « Valider ».

message de confirmation de la clé ssh
Vous devez valider la clé de chiffrement du serveur.

Et voilà, vous êtes connecté à votre Raspberry Pi ! Vous pouvez désormais explorer le système de fichier comme le pourrait votre utilisateur Pi.

Interface de FileZilla avec connection en SFTP au serveur.
Maintenant que vous êtes connecté au serveur, vous pouvez voir ses fichiers dans la partie droite.

Cela signifie que vous avez le droit de faire sur le serveur tout ce que votre utilisateur Pi peut faire. Vous pouvez ainsi facilement transférer des fichiers entre votre Raspberry Pi et votre Ordinateur par de simples glissé-déposé !

Maintenant, à vous de jouer !

Lire l'article complet : Transférer des fichiers sur la Raspberry Pi sans FTP avec SSH.

Vus : 403
Publié par RaspbianFrance : 123