SCP communément appelé commande de copie sécurisée est un outil utilitaire utilisé par les systèmes Linux pour copier des fichiers et des répertoires entre les hôtes du réseau. SSH est utilisé pour transférer des fichiers et authentifier les utilisateurs. Comme vous avez besoin d'informations d'identification pour accéder à un serveur distant à l'aide de ssh, vous devez de la même manière connaître les informations d'identification des hôtes distants lors de l'exécution des commandes SCP. Dans cet article, nous apprendrons quelques commandes SCP utiles.
Copier le fichier d'un serveur à un autre
Pour copier un seul fichier d'un serveur à un autre sur le réseau, utilisez la commande suivante.
$ scp file.txt [email protected]:/root/Linuxways
Où , file.txt est le nom du fichier, root est le nom d'utilisateur de l'hôte distant, 192.168.178.10 est l'adresse du serveur distant et /root/Linuxways est le répertoire distant.
Trouver l'état de la copie
La commande scp avec l'option -v peut être utilisée pour afficher l'état de la copie.
$ scp -v file [email protected]:/root/Linuxways
Sortie :
Conserver les attributs de fichier
Une fois que nous avons copié les fichiers/dossiers sur le serveur de destination, les fichiers copiés prendront le dernier horodatage du serveur de destination. Utilisez la commande SCP avec l'option -rvp pour conserver les attributs du fichier tels que l'autorisation, l'horodatage.
$ scp -rvp file [email protected]:/root/Linuxways
Sortie :
Origine :
Destinataire :
Masquer la sortie SCP
Les sorties Scp, y compris les avertissements, les erreurs et la jauge de progression, peuvent être supprimées en utilisant SCP avec l'option -q comme :
$ scp -q file [email protected]:/root/Linuxways
Transférer le fichier à l'aide d'un port aléatoire
La commande scp avec l'option -P peut être utilisée pour transférer les fichiers en utilisant un port différent du port 22 par défaut. Spécifiez le port SSH après la commande -P et exécutez la commande SCP en tant que :
$ scp -P 4022 file [email protected]:/root/Linuxways
Où 4022 est le port SSH personnalisé de l'hôte distant.
Utiliser une clé d'authentification au lieu d'un mot de passe
Si l'hôte distant est configuré avec une authentification par clé ssh au lieu d'un mot de passe, vous devez utiliser le fichier de clé ssh pour accéder à l'hôte distant. Pour transférer les fichiers/répertoires, spécifiez le fichier de clé ssh et exécutez la commande SCP avec l'option -i en tant que :
$ scp -i private.pem file [email protected]:/root/Linuxways
Où private.pem est le fichier clé pour l'authentification du serveur distant
Limiter la bande passante
La bande passante du transfert de fichiers peut être limitée à l'aide de la commande SCP avec l'option -l. Dans cet exemple, j'ai limité la bande passante à 200kbit/s
$ scp -l 200 centos-iso.tar.gz [email protected]:/root/Linuxways
Copier le fichier depuis un hôte distant
Les fichiers/dossiers peuvent être copiés sur localhost à partir d'un serveur distant à l'aide de la commande SCP comme :
$ scp [email protected]:/root/Linuxways/file .
Où root est le nom d'utilisateur de la machine distante 192.168.178.10, /root/Linuxways est le répertoire distant et . est le répertoire courant sur le serveur local.
Sortie :
La commande scp avec l'option -r peut être utilisée pour copier des répertoires depuis l'hôte distant comme :
$ scp -r [email protected]:/root/Linuxways .
Où Linuxways est le nom du répertoire distant.
Sortie :
Transférer des fichiers basés sur IPV4 uniquement
Seule l'adresse IPV4 peut être utilisée pour contacter des hôtes distants afin de transférer des fichiers/répertoires à l'aide de la commande SCP avec l'option -4 comme :
$ scp -4 file [email protected]:/root/Linuxways
Si vous devez utiliser uniquement l'adresse IPV6, exécutez la commande SCP en tant que :
$ scp -6 file [email protected]:/root/Linuxways
Désactiver la vérification stricte des fichiers
La vérification stricte des fichiers lors de la copie de fichiers/dossiers de l'hôte distant vers le serveur local peut être désactivée en utilisant la commande SCP avec l'option -T comme :
$ scp -T [email protected]:/root/Linuxways/documents.tar.gz .
Où 192.168.178.10 est l'hôte distant et documents.tar.gz est le nom du fichier.
Compresser les fichiers/dossiers pour un transfert plus rapide
Les fichiers/répertoires peuvent être compressés à l'aide de la commande SCP avec l'option -C lors de la copie sur un serveur distant. La compression du fichier a lieu au niveau du réseau et à la destination, la taille du fichier sera la même que la source.
$ scp -C centos.iso.tar.gz [email protected]:/root/Linuxways
Copier le répertoire au lieu des fichiers
Vous pouvez copier le répertoire au lieu des fichiers individuels séparément à l'aide de la commande SCP avec l'option -r comme :
$ scp -r example [email protected]:/tmp
Où exemple est le nom du dossier.
Copier plusieurs fichiers
Plusieurs fichiers peuvent être copiés sur un serveur distant à l'aide de la commande SCP en spécifiant le nom des fichiers comme :
$ scp file file1 file2 file3 file4 [email protected]:/root/Linuxways
Où fichier fichier1 fichier2 fichier3 et fichier4 est le nom du fichier.
Utiliser un autre chiffrement pour chiffrer les fichiers/dossiers
Lors du transfert de fichiers, Linux utilise l'algorithme AES-128 pour chiffrer les fichiers. D'autres algorithmes de chiffrement peuvent être utilisés à l'aide de la commande SCP avec l'option -c. Dans cet exemple, j'ai utilisé le chiffrement 3des-cbc pour chiffrer les fichiers.
$ scp -c 3des-cbs file [email protected]:/root/Linuxways
Copie de distance à hôte distant
Les fichiers/répertoires peuvent être copiés d'un hôte distant (exemple host1) vers un autre hôte distant (host2) depuis localhost (host) comme :
$ scp [email protected]:/root/Linuxways/file [email protected]:/root/Linuxways
Où, 192.168.178.10 -> Hôte distant (host1)
192.168.178.11 -> Hôte distant (host2)
Conclusion
Dans cet article, nous avons appris quelques commandes SCP utiles pour copier des fichiers/dossiers entre les hôtes du réseau. Si vous avez des suggestions et des commentaires, veuillez laisser un commentaire.