Transfert de fichier via SSH

Transfert de fichier via SSH

system tips

Comment transférer des fichiers d'une machine à une autre via le protocole SSH.

Préambule

SCP est le nom d'une commande fournis par le paquet "openssh-client". La commande permet d'échanger des fichiers et des dossiers entre un client SSH et un serveur SSH. Il est installé par défaut sur la plupart des distribution linux.

Note:

  • l'utilisateur local (machine User) est user
  • celui de la machine distante (serveur linux) est root.
  • son adresse est www.distant.fr
  • le port SSH est celui par défaut (si ce n'est pas le cas, il faut ajouter -P "numero du port" après la commande scp)

Envoi d'un fichier via SSH en utilisant SCP (upload)

Si je suis sur la Machine User et que je souhaite envoyer le fichier
/home/user/data/Fichier2 dans le répertoire /var/www du serveur Linux,
j’utilise la commande suivante.

scp /home/user/data/Ficher2 root@www.distant.fr:/var/www/

Explications

c'est assez similaire à la commande "cp" dans laquelle on spécifie la source, puis la destination. Entre les deux, on insère "root@www.distant.fr:".

Ce qui permet à la fois de se logguer (connexion SSH oblige) et de spécifier l'adresse du serveur cible afin d'y déposer notre fichier. Le ":" permet de spécifier le chemin sur la machine cible. S'il n'est pas spécifié, les fichiers atterriront dans le dossier de l'utilisateur (/root pour l'utilisateur root, /home/user pour l'utilisateur "user", etc.).

Note : Si le chemin n'existe pas, nous obtiendrons une erreur de la part de SSH.

Téléchargement d'un fichier via SSH en utilisant SCP (download)

Si l'on souhaite effectuer l'opération inverse, c’est-à-dire télécharger un fichier du serveur Linux vers la Machine User.

On utilise scp de cette façon :

scp root@www.distant.fr:/var/www/Fichier2 /home/user/data/

Même construction que précédement mais la source et la destination sont inversées. On spécifie d'abord l'utilisateur avec lequel se connecter en SSH et le chemin sur le serveur cible puis le dossier local dans lequel nous souhaitons entreposer les fichiers téléchargés.

Transfert de dossier récursif

Avec cette commande, lorsqu'on transfère un répertoire via scp, les
fichiers et les dossiers qu'il contient seront également copiés et réorganisés de la même façon chez sur machine cible. Pour cela, il suffit d'ajouter l'option "-r" juste après "scp", exemple :

scp -r /home/user/data/ root@www.distant.fr:/var/www/

Ici, on retrouve également la même structure que précédemment, mais
cette fois-ci tous les dossiers et fichiers présents dans le dossier data seront transférés vers le serveur.

Et voila, c'est super non !?

Previous Post Next Post