GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande SCP pour transférer des fichiers

SCP est un programme de copie sécurisée pour transférer des fichiers ou des répertoires entre des hôtes Linux sur le réseau. SCP utilise le protocole ssh pour transférer les données.

Vous pouvez transférer des fichiers ou des répertoires comme suit :

1) Hôte local vers un hôte distant.
2) Système distant à votre système local.
3) Transfert entre deux hôtes distants depuis votre système local.

Dans ce didacticiel, apprenons quelques commandes scp pour transférer des fichiers entre des systèmes Linux.

1) Copiez un fichier de l'hôte distant vers le local à l'aide de la commande scp

L'exemple suivant copie le fichier nommé "file_for_copy.txt" du système distant "192.168.1.10" vers le répertoire actuel (le point indique le répertoire actuel) sur le système local.

$ scp [email protected]:/home/bobby/file_for_copy.txt .
[email protected]'s password:
file_for_copy.txt 100% 0 0.0KB/s 00:00
bobby@Inspiron-1440:~$ ls
file_for_copy.txt

Copiez un répertoire de l'hôte distant vers le local à l'aide de la commande scp

Les répertoires peuvent être copiés avec -r option (comme la plupart des commandes comme cp), c'est-à-dire de manière récursive, afin que tout le contenu du répertoire puisse également être copié

$ scp -r [email protected]:/home/bobby/dir_for_copy .
[email protected]'s password:
file1.txt 100% 0 0.0KB/s 00:00
file3.txt 100% 0 0.0KB/s 00:00
file2.txt 100% 0 0.0KB/s 00:00
$ ls -ld dir_for_copy
drwxrwxr-x 2 bobby bobby 4096 2012-11-07 15:11 dir_for_copy

3) Copier un fichier de l'hôte local vers l'hôte distant

L'option -v de scp imprime une sortie détaillée, qui exécute ensuite le scp et imprime également des messages de débogage sur leur progression. Dans l'exemple suivant, l'option -v est utilisée. Ici, un fichier local est copié sur l'hôte distant.

$ scp -v examples.desktop [email protected]:/home/bobby

De même, un répertoire peut être copié avec -r option. Dans l'exemple suivant, un répertoire nommé jvm est copié sur l'hôte distant.

$ scp -r jvm [email protected]:/tmp
[email protected]'s password:
file2.txt 100% 42 0.0KB/s 00:00
file.txt 100% 39 0.0KB/s 00:01

4) Copier des fichiers entre deux hôtes distants à partir d'un hôte local

Pour copier un fichier entre deux hôtes, le service ssh doit être exécuté sur les deux machines. Le -3 L'option transférera les fichiers entre deux hôtes distants via l'hôte local. La commande suivante copie le fichier /home/bobby/myfile1.txt de la machine 192.168.1.10 vers le répertoire /tmp sur la machine 192.168.1.20, avec une sortie détaillée.

$ scp -3 -v [email protected]:/home/bobby/myfile1.txt [email protected]:/tmp

De même, les répertoires peuvent être copiés entre deux machines distantes avec l'option -r.

$ scp -3 -r [email protected]:/home/bobby/mydir [email protected]:/tmp
[email protected]'s password:
Could not chdir to home directory /home/bobby: No such file or directory
[email protected]'s password:

5) SCP avec un numéro de port

Supposons que le port SSH de la machine distante soit 2200 (plutôt que le port SSH par défaut 22). Ensuite, vous devez exécuter la commande scp avec -P comme suit :

$ scp –P 2200 -r test_folder [email protected]:/home/test/

6) Commande Scp Copier plusieurs fichiers (une doublure)

Vous pouvez copier plusieurs fichiers à la fois en utilisant la commande scp comme ci-dessous sans avoir à l'exécuter plusieurs fois

$ scp file1.txt file2.txt file3.txt [email protected]:/home/bobby

7) Copier des fichiers sans changer l'horodatage des fichiers

Parfois, vous souhaiterez peut-être conserver l'horodatage des fichiers d'origine. Mais lorsque vous les déplacez normalement vers un emplacement différent, l'horodatage est modifié. Mais avec -p vous pouvez copier les fichiers avec les mêmes horodatages d'origine, comme ci-dessous.

$ scp -p file1.txt [email protected]:/home/bobby

8) Copier rapidement les fichiers SCP

Par défaut, Scp utilise AES-128 pour chiffrer les données car la sécurité est élevée. Mais l'inconvénient est que cela ralentit un peu le processus de copie de fichiers. Mais si vous souhaitez copier des fichiers en toute sécurité plus rapidement, vous pouvez utiliser Blowfish ou RC4 comme ci-dessous.

$ scp -c blowfish [email protected]:/home/user/file .
$ scp -c arcfour [email protected]:/home/user/file .

9) Commande Scp avec une sécurité accrue

Si c'est la sécurité que vous recherchez, vous pouvez copier des fichiers de manière plus sécurisée en utilisant 3DES. Mais cela ralentira un peu plus le processus.

$ scp -c 3des [email protected]:/home/user/file .

10) Commande Scp avec une bande passante limitée

Lorsque vous utilisez la commande scp, vous pouvez limiter votre bande passante comme ci-dessous (ici, la bande passante est spécifiée en Kbit/s).

$ scp -l50 [email protected]:/home/user/file .

11) Commande Scp avec IPV4 et IPV6

Si nécessaire, vous pouvez forcer la commande scp à utiliser IPV4 ou IPV6 comme ci-dessous

$ scp -4 [email protected]:/home/user/file .
$ scp -6 [email protected]:/home/user/file .

Conclusion

J'espère que vous avez apprécié la lecture de ce tutoriel sur l'utilisation de la commande scp avec des exemples. Je recommanderais de consulter la page de manuel de la commande scp pour plus d'informations.


Linux
  1. 14 exemples de commandes SCP pour transférer des fichiers en toute sécurité sous Linux

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Comment utiliser la commande Su sous Linux

  4. Comment transférer des fichiers en toute sécurité à l'aide de SCP

  5. Comment utiliser la commande Linux find pour rechercher des fichiers

Comment utiliser la commande SCP pour transférer des fichiers en toute sécurité

Comment utiliser la commande SFTP pour transférer des fichiers

Comment utiliser la commande PS

Comment utiliser la commande TOP

Comment utiliser la commande SCP sous Linux

Commande Linux SCP pour transférer des fichiers en toute sécurité