Je vous présente ici deux techniques pour copier un fichier entre deux ordinateurs, par exemple entre votre ordinateur et un Raspberry Pi :
La commande scp (Secure CoPy), est très intéressante pour copier des fichiers d'un ordinateur vers un autre.
Sur un ordinateur Mac ou Linux, elle est disponible sans installlation supplémentaire.
Sur un ordinateur Windows, il faudra installer un utilitaire comme Putty ou PSCP.
Il est possible de l'utiliser pour copier un fichier de l'ordinateur vers le Pi ou vice-versa.
L'adresse IP suivie des deux points (:) permettent d'identifier l'ordinateur distant (le Pi si vous lancez la commande sur votre ordinateur).
Pour copier le fichier à la racine du dossier personnel de l'usager pi, entrez cette commande en prenant soin de changer pi pour le nom de votre usager sur Raspberry Pi OS et l'adresse IP pour celle du Pi.
scp dossierlocal/monfichier.extension pi@192.168.1.145:
Pour copier le fichier dans un dossier précis du Pi :
scp dossierlocal/monfichier.extension pi@192.168.1.145:/dossier/sous-dossier
Pour copier un fichier du Pi vers votre ordinateur, il suffit d'inverser le bloc source et le bloc destination :
scp pi@192.168.1.145:/dossier/sous-dossier/monfichier.extension /dossierlocal
L'option -r permet de copier un dossier complet entre le Raspberry Pi et l'ordinateur.
Il faut spécifier le nom du dossier à copier sans le faire suivre d'une barre oblique ni d'un astérisque.
Pour copier le dossier de l'ordinateur vers le Pi :
scp -r /dossierlocal pi@192.168.1.145:/dossiersurlepi
Pour copier le dossier du Pi vers l'ordinateur :
scp -r pi@192.168.1.145:/dossiersurlepi /dossierlocal
Certains systèmes, par exemple Home Assistant, exigent l'utilisation d'un port particulier pour un accès SSH. Ce port devra lui aussi être utilisé avec scp.
Dans cet exemple, j'ai travaillé avec l'usager root puisque c'est lui qui est utilisé sous Home Assistant.
scp -P 22222 root@192.168.1.145:/dossier/sous-dossier/monfichier.extension /dossierlocal
ou, pour copier de l'ordinateur vers le Pi :
scp -P 22222 /dossierlocal root@192.168.1.145:/dossier/sous-dossier/monfichier.extension
Lors de l'utilisation de la commande scp, le serveur SSH pourrait être configuré pour travailler par défaut en mode sécurisé.
Vous le saurez si vous obtenez le message d'erreur suivant :
sh: /usr/libexec/sftp-server: not found
scp: Connection closed
Vous pourrez régler le problème en ajoutant l'option -O.
Selon la documentation de scp1 :
-O : Use the legacy SCP protocol for file transfers instead of the SFTP protocol. Forcing the use of the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-compatibility for particular filename wildcard patterns and for expanding paths with a ‘~’ prefix for older SFTP servers.
scp -O -P 22222 root@192.168.1.145:/dossier/sous-dossier/monfichier.extension /dossierlocal
Pour effectuer une copie de fichier à l'aide d'une clé USB, suivez ces étapes :
sudo mkdir /mnt/cleusb
sudo mount /dev/sda1 /mnt/cleusb
cp /mnt/cleusb/monfichier.extension /dossier/sous-dossier
sudo umount /dev/sda1
1. « scp(1) — Linux manual page ». man7.org. https://man7.org/linux/man-pages/man1/scp.1.html
« SCP (Secure Copy) ». Raspberry Pi. https://www.raspberrypi.org/documentation/remote-access/ssh/scp.md
▼Publicité
Site fièrement hébergé chez A2 Hosting.