Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Ordinateurs embarqués (SBC) > La carte Raspberry PI > Installation et configuration de la R-Pi > Envoyer des fichiers sur la Raspberry Pi avec SFTP

Envoyer des fichiers sur la Raspberry Pi avec SFTP

dimanche 8 juillet 2012, par Julien H.

Nous avons déjà vu comment installer un système d’exploitation Linux sur la carte Raspberry Pi, avec les spécificités de son processeur ARM. 

Nous avons vu comment nous connecter via SSH. On peut donc avoir un terminal de commande et lancer des programmes, voire télécharger depuis Internet (avec la commande wget, régulièrement utilisée dans nos tutoriaux).

Pour les besoins d’une cross-compilation entre un PC (avec l’environnement Processing) et la Raspberry Pi, nous avons besoin d’envoyer nos fichiers sans passer par Internet. Cette astuce peut vous être utile dans d’autres cas, dès que vous avez un accès SSH : beaucoup ne la connaissent pas et perdent du temps à installer un serveur FTP. En fait, il existe un protocole de transfert basé sur SSH, c’est SFTP.

Identifier la Raspberry Pi sur le réseau local

Il faut tout d’abord identifier sur quelle interface réseau la carte Raspberry Pi va être visible : si vous disposez d’une connexion filaire et d’une connexion WIFI, votre machine de développement va avoir deux interfaces différentes, avec deux plages d’IP différentes.

Voici ce que me répond mon système GNU/Linux lorsque je l’interroge (en simplifiant la sortie) :

atelier@ubuntu:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1f:16:72:99:e7  
          inet adr:10.42.0.1  Bcast:10.42.0.255  Masque:255.255.255.0

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0

wlan0     Link encap:Ethernet  HWaddr 00:24:2b:92:ae:46  
          inet adr:192.168.0.11  Bcast:192.168.0.255  Masque:255.255.255.0

Il y a donc trois interfaces (eth0, lo, wlan0) et trois IP. On peut déjà écarter lo (le localhost). Comme j’ai relié un câble Ethernet entre ma carte Raspberry Pi et la machine de développement, c’est eth0 qui va être utilisée.

Ne connaissant pas l’adresse IP donnée automatiquement à la Raspberry Pi, je dois faire une recherche :

atelier@ubuntu:~$ nmap 10.42.0.1/24

Starting Nmap 5.21 ( http://nmap.org ) at 2012-07-08 22:14 CEST
Nmap scan report for 10.42.0.1
Host is up (0.00087s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
3689/tcp open  rendezvous

Nmap scan report for 10.42.0.77
Host is up (0.0047s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.73 seconds

Moins de trois secondes plus tard, je vois que ma RPi est connectée sur l’IP 10.42.0.77 et que le port 22 (SSH) est bien ouvert.

Connexion via SFTP

La plupart des récents logiciels de transfert de fichiers supportent le protocole SFTP. C’est le cas de FileZilla, l’un des plus célèbres et pour moi le plus simple.

Dans la liste des connexions existantes (que je ne vous montrerai pas, on se fait déjà assez hacker notre serveur web comme ça...), je rajoute une connexion en précisant l’IP que je viens de déterminer, le port 22, le protocole SFTP, mon nom d’utilisateur et mon mot de passe (ceux que j’utilise déjà pour une connexion SSH standard).

Et voilà, un clic de connexion plus tard, tous les fichiers de la RPi sont visibles, et on peut envoyer tous nos programmes dessus.

Vos commentaires

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.