GNU/Linux >> Tutoriels Linux >  >> Linux

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

SCP signifie copie sécurisée. Il s'agit d'un utilitaire de ligne de commande Linux utilisé pour copier en toute sécurité des fichiers et des répertoires entre des serveurs. SCP utilise le protocole SSH, il nécessite donc une authentification par mot de passe ou sans mot de passe entre les serveurs. Avec SCP, vous pouvez copier des fichiers entre deux hôtes distants à partir de votre système local, ainsi que copier des fichiers entre des hôtes locaux et distants.

Dans ce tutoriel, nous allons vous montrer comment utiliser la commande SCP avec des exemples.

Prérequis

  • Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud d'Atlantic.net.
  • Un mot de passe root configuré sur votre serveur.

Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

1. Syntaxe SCP

La syntaxe de base de la commande SCP est illustrée ci-dessous :

scp [option] [email protected]:/file_or_directory [email protected]:/directory

utilisateur : Nom de l'utilisateur.
source-ip : Adresse IP du système à partir duquel vous souhaitez copier des fichiers ou des répertoires.
dest-ip : Adresse IP du système de destination du système.

Certaines des options utilisées dans la commande scp sont répertoriées ci-dessous :

-P : Spécifiez le numéro de port ssh de l'hôte de destination.
-r : Utilisé pour copier des fichiers et des répertoires de manière récursive.
-v : Utilisé pour afficher une sortie détaillée lors du transfert de fichiers.
-C : Utilisé pour activer la compression de fichiers.
-i : Spécifiez la clé SSH.
-l : Utilisé pour limiter la bande passante lors de la copie.
-p : Utilisé pour préserver les autorisations, les modes et l'heure d'accès des fichiers lors de la copie.

2. Copier un fichier d'un hôte local vers un hôte distant

Si vous souhaitez copier un fichier nommé /etc/rc.local de localhost vers l'hôte distant (172.20.10.3) dans le répertoire /mnt, exécutez la commande suivante :

scp /etc/rc.local [email protected]:/mnt/

Vous devriez voir le résultat suivant :

[email protected]'s password:rc.local                                                                                100 %  306      0,3 Ko/s : 0,3 Ko/s :

Si vous souhaitez copier plusieurs fichiers (dans cet exemple, nous utiliserons /etc/fstab et /etc/hosts, et copiez-les sur l'hôte distant (172.20.10.3) dans le répertoire /mnt), exécutez la commande suivante :

scp /etc/fstab /etc/hosts [email protected]:/mnt/

Vous devriez voir le résultat suivant :

 [email protected]'s Mot de passe:FSTAB 100% 628 0,6KB / S 00:00 HOSTS 100% 249 0,2KB / S 00:00 

3. Copier des fichiers et des répertoires de manière récursive

Vous pouvez utiliser l'option récursive -r avec SCP pour copier le répertoire entier d'un système à un autre.

Par exemple, pour copier le répertoire nommé /var/log/apache2 de localhost vers l'hôte distant (172.20.10.3) dans le répertoire /mnt de manière récursive, exécutez la commande suivante :

scp -r /var/log/apache2 [email protected]:/mnt/

Vous devriez voir le résultat suivant :

 [email protected]'s Mot de passe:error.log 100% 0 0.0kb / s 00:00 Access.log.3.gz 100% 61KB 61.3KB / S 00:00 Autre_Vhosts_Access.log 100% 0 0.0KB / S 00:00 Access.log.4.gz 100% 317 0,3Kb / s 00:00 error.log.3.gz 100% 1622 1,6KB / s 00:00 error.log.1 100% 2352 2,3KB / s 00 :00 Access.log 100% 0 0,0kb / s 00:00 Access.log.1 100% 1287 1,3 Ko / s 0 0:00 Access.log.2.gz 100% 239 0,2kb / s 00:00 error.log.2.gz 100% 246 0,2kb / s 00:00 error.log.5.gz 100% 1471 1.4KB / s   00:00   error.log.4.gz                                                                     100 % 2296     2,2 Ko/s   00:00

Vous pouvez également utiliser l'option -v avec SCP pour afficher une sortie détaillée pendant le processus de copie :

scp -vr /var/log/apache2 [email protected]:/mnt/

4. Copier le fichier de l'hôte distant vers l'hôte local

Si vous souhaitez copier un fichier nommé /etc/hostname depuis l'hôte distant (172.20.10.3) vers l'hôte local dans le répertoire /opt, exécutez la commande suivante :

scp [email protected]:/etc/hostname /opt/

Vous devriez voir le résultat suivant :

 [email protected]'s Mot de passe:nom d'hôte 100% 6 0,0kb / s 00:00 

5. Copier un fichier d'un hôte distant vers un autre hôte distant

Pour copier des fichiers et des répertoires entre deux hôtes distants, vous devrez configurer l'authentification basée sur une clé SSH entre les deux hôtes distants.

Après avoir configuré l'authentification par clé, copiez un répertoire nommé /var/log d'un hôte distant (172.20.10.3) vers l'autre hôte distant (172.20.10.4) dans le répertoire /mnt, exécutez la commande suivante :

scp -r [email protected]:/var/log [email protected]:/mnt/

6. Limitation de l'utilisation de la bande passante lors de la copie

Vous pouvez utiliser l'option -l avec SCP pour limiter la bande passante pendant le processus de copie.

Par exemple, pour copier un fichier nommé google-chrome-stable_current_amd64.deb de localhost vers l'hôte distant (172.20.10.3) dans le répertoire /opt et limiter la bande passante à 1 000 Ko/s (1 000 x 8), exécutez la commande suivante :

scp -l 8000 /home/vyom/Downloads/google-chrome-stable_current_amd64.deb  [email protected]:/opt/

Vous devriez voir le résultat suivant :

mot de passe de l'[email protected] :google-chrome-stable_current_amd64.deb                                                                  100 %   60 Mo           

7. Spécifiez un port spécifique avec SCP

Dans certains cas, le port SSH est différent sur l'hôte de destination. Dans ce cas, vous pouvez utiliser l'option -P pour spécifier le port SSH.

Par exemple, pour copier un fichier nommé /etc/hosts sur le système local vers l'hôte distant (172.20.10.3) dans le répertoire /mnt à l'aide du port 8088, exécutez la commande suivante :

scp -P 8088 /etc/hosts [email protected]:/mnt/

8. Activation de la compression lors de la copie

Vous pouvez utiliser l'option -C avec SCP pour activer la compression à la source et la décompression sur l'hôte de destination. Cela peut augmenter la vitesse de transfert des fichiers volumineux.

Par exemple, pour copier un répertoire /var/log/nginx sur l'hôte local vers l'hôte distant (172.20.10.3) dans le répertoire /mnt avec compression, exécutez la commande suivante :

scp -r -C /var/log/nginx [email protected]:/mnt/

Vous devriez voir le résultat suivant :

 [email protected]'s Mot de passe:error.log 100% 0 0,0kb / s 00:00 Access.log.3.gz 100% 217 0,2KB / s 00:00 error.log.1 100% 974 1.0KB / s 00:00 Access.log 100% 0 0,0kb / s 00:00 Access.log.1 100% 90 0,1kb / s 00:00 Access.log.2.gz 100% 239 0,2KB / S 00:00 

9. Préserver les autorisations, les modes et l'heure d'accès des fichiers lors de la copie

Vous pouvez utiliser l'option -p avec SCP pour préserver les autorisations, le temps d'accès et les modes pendant le processus de copie.

Par exemple, pour copier un fichier nommé magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 sur l'hôte local vers l'hôte distant (172.20.10.3) dans le répertoire /mnt et préservez les autorisations, l'heure d'accès et les modes, exécutez la commande suivante :

scp -p /home/vyom/Downloads/magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 [email protected]:/mnt/

Vous devriez voir le résultat suivant :

 [email protected]'s Mot de passe:magento-acte-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 100% 112MB 55.9MB / S 00:02 

Conclusion

Dans le guide ci-dessus, vous avez appris à utiliser SCP pour transférer en toute sécurité des fichiers et des répertoires d'un serveur à un autre. Commencez dès aujourd'hui avec SCP sur un compte d'hébergement VPS avec Atlantic.Net !


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

  2. Transférer en toute sécurité des fichiers et des dossiers entre ordinateurs à l'aide de Croc

  3. Comment copier en toute sécurité des fichiers entre des hôtes Linux à l'aide de SCP et SFTP

  4. Comment transférer des fichiers entre serveurs sous Linux à l'aide de SCP et FTP

  5. Comment transférer des fichiers sous Linux avec SCP et Rsync

Comment supprimer des fichiers en toute sécurité à l'aide de la commande Shred dans Debian 10

Comment transférer en toute sécurité des fichiers entre des systèmes Ubuntu à l'aide de Croc

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

Procédure :Commandes SFTP - Transférer en toute sécurité des fichiers vers un serveur distant

Transférer des fichiers à l'aide de WinSCP

Comment supprimer des fichiers en toute sécurité à l'aide de la commande Shred dans Debian 11