Base de connaissances · Linux

Tutoriel SCP

Dernière mise à jour : 2020-04-05

Si vous travaillez dans un environnement UNIX et avez besoin d'un moyen rapide et sécurisé de copier des fichiers, nous vous recommandons d'utiliser scp en ligne de commande. SSH et OpenSSH fournissent l'application scp, qui vous permet de vous connecter à des serveurs exécutant un service FTP chiffré et d'y transférer des fichiers (démon ssh). Si vous recherchez une application graphique X Window, vous pouvez essayer http://gftp.seul.org/.


Voici comment fonctionne scp :
(Notez l'utilisation des points ; ils sont indispensables !!)


1) Pour copier un fichier de hostB vers hostA, lorsque vous êtes connecté à hostB :
[user@server ~]$ scp -P port filename username@hostA.com:.
(copie le fichier dans le répertoire personnel de l'utilisateur sur la machine hostA, en raison du point placé après les deux-points)


2) Pour copier un dossier de hostB vers hostA, une fois connecté à hostB, placez-vous d'abord (cd) dans le répertoire de hostB qui contient le dossier à copier :
[user@server ~]$ scp -r -P port folder username@hostA.com:.
(crée un nouveau dossier s'il n'existe pas, là encore dans le répertoire personnel de l'utilisateur)


3) Pour copier un fichier de hostA vers hostB, une fois connecté à hostB :
[user@server ~]$ scp -P port username@hostA.com:filename .
(copie dans le répertoire courant sur hostB)

[user@server ~]$ scp -r -P port username@hostA.com:folder .
(copie le dossier entier dans le répertoire courant sur hostB)


4) Pour copier un fichier ou un dossier situé dans un dossier de hostA vers hostB, une fois connecté à hostB :
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename .
(copie dans le répertoire courant sur hostB)

[user@server ~]$ scp -r -P port username@hostA.com:/folder/dir .
(copie le dossier entier dans le répertoire courant sur hostB)


5) Au lieu d'utiliser le « . » pour désigner les fichiers à copier dans un répertoire personnel ou dans le répertoire de travail courant, vous pouvez indiquer à scp un chemin réel (à condition de disposer des droits d'écriture) :
[user@server ~]$ scp -r -P port folder username@hostA:/home/httpd/

[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename /home/tmp/


Votre hébergeur impose-t-il une limitation des ressources sur ssh ?
Il suffit d'appliquer nice à l'une ou à l'ensemble des commandes ci-dessus, en les faisant précéder d'un préfixe tel que

[user@server ~]$ nice -n +19

Vous pouvez remplacer le nombre 19 par n'importe quelle valeur inférieure à la limite de ressources fixée par votre hébergeur.

← Tous les articles de la base de connaissances

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.