La commande Secure Copy Protocol (SCP) est une méthode de déplacement sécurisé des fichiers entre l'hôte local et l'hôte distant . En utilisant l'utilitaire de ligne de commande, on peut même transférer des données entre deux hôtes distants. SCP provient du protocole de réseau cryptographique Secure Shell (SSH). En règle générale, on exploite SSH pour exploiter en toute sécurité les services réseau sur le réseau non sécurisé.
- 1 Qu'est-ce que la commande SCP ?
- 2 Syntaxe de la commande SCP
- 3 Transfert de fichiers à l'aide de la commande SCP
- 4 Copie du fichier local sur un système distant
- 5 Copiez le fichier distant sur le système local
- 6 Copier des fichiers entre deux systèmes distants à l'aide de la commande SCP
- 7 Utilisation du paramètre -C
Qu'est-ce que la commande SCP ?
Dans un point de vue controversé, les développeurs d'OpenBSD Secure Shell (OpenSSH) ont déclaré que SCP est obsolète et n'est pas le meilleur choix pour transférer des fichiers à l'époque moderne.
SCP est toujours très populaire et utilisé par de nombreuses personnes pour transférer en toute sécurité des fichiers entre des hôtes sur un réseau. Généralement, la plupart utilisent les programmes Secure Copy Protocol tels que Putty , WinSCP , Filezilla, etc. Cependant, l'application la plus utilisée est la ' ligne de commande SCP .' Il vient dans presque toutes les implémentations SSH.
En termes simples, le protocole Secure Copy facilite le transfert de fichiers ou de répertoires entre deux emplacements. Voici les choses que les gens peuvent faire avec SCP :
- Transférez des fichiers de la machine locale vers un système distant et vice versa.
- Il permet le transfert de fichiers entre deux systèmes distants à partir de la machine locale.
La plupart utilisent SCP car il crypte les fichiers et les mots de passe au moment du transfert. Par conséquent, empêcher quiconque de forcer ou de copier des informations sensibles en s'immisçant dans le réseau.
Syntaxe de la commande SCP
Chaque protocole a une syntaxe de base et il est préférable de l'apprendre avant de plonger dans l'utilisation de commandes pour transférer des fichiers ou des répertoires. La syntaxe est homogène à la commande scp dans les systèmes d'exploitation de type Unix pour copier des fichiers et des répertoires.
La commande SCP générale prend la forme suivante :
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
Ci-dessous la répartition de l'expression :
- [user@]SRC_HOST :]file1 - ceci indique le fichier source.
- [user@]DEST_HOST :]file2 - ceci stipule le fichier de destination
- OPTION - il spécifie des options telles que la copie récursive, le chiffrement, le port ssh, etc.
Remarque : Il est nécessaire de spécifier les spécifications de l'utilisateur et de l'hôte pour les fichiers distants. De plus, il faut définir le chemin absolu ou relatif pour les fichiers locaux.
Le SCP est livré avec divers paramètres qui permettent aux utilisateurs de contrôler facilement chaque fonctionnalité. Parmi eux, les plus courants sont les suivants :
- -q - L'option supprimera la jauge de progression et les messages sans erreur.
- -r - Cela copiera les fichiers de manière récursive.
- -P - Il définit le port SSH de l'hôte distant
- -C - L'option compresse les données pour accélérer le transfert de fichiers
- -p - Il protège les fichiers contre la modification ou l'accès.
- (:) – Le SCP utilise les deux-points pour différencier les destinations locales et distantes.
Les utilisateurs doivent également s'assurer d'obtenir une clé ou un mot de passe SSH avant de commencer à transférer des fichiers car l'utilitaire de commande utilise SSH pour le transfert de données. La clé SSH est utilisée pour valider les systèmes distants. Avant de lancer le transfert de fichiers à l'aide de SCP, les utilisateurs doivent s'assurer qu'ils disposent d'une autorisation de lecture pour le fichier source. En outre, il faut avoir un consentement d'autorisation d'écriture sur le système cible.
L'un des inconvénients de SCP est qu'il écrase un fichier sans donner d'avertissement, il partage le même nom avec un autre fichier au même emplacement. De plus, il est préférable d'ouvrir SCP dans une session tmux lors du transfert de fichiers volumineux.
Transfert de fichiers à l'aide de la commande SCP
Le transfert de fichiers avec SCP Command est très simple, et ci-dessous, nous allons montrer comment transférer des fichiers avec des exemples. Nous fournirons également plusieurs exemples qui simplifieront l'utilisation des paramètres SCP.
Copie du fichier local sur un système distant
La copie d'un fichier local à distance est très simple et peut être réalisée en exécutant la commande SCP suivante :
$ scp trial.txt remote_mike@10.10.0.5:/remote/directory
Décomposons la commande ci-dessus.
Dans la commande :
- Nom de fichier - trial.txt est le fichier qu'un utilisateur souhaite copier sur le système distant.
- Serveur distant – remote_mike est le nom du serveur distant
1. La commande se termine par le chemin du répertoire. Au cas où, on ne précise pas le chemin ; le fichier sera copié dans le répertoire personnel du système distant. Le fichier commencera à être transféré une fois qu'un utilisateur aura entré le mot de passe. Voici ce que sera le résultat du code:
remote_mike@10.10.0.2's password: trial.txt 100% 0 0.0KB/s 00:00
2. Au cas où, on supprime les fichiers de l'emplacement ; puis il copiera le fichier avec le nom d'origine. Si l'on change le nom du fichier, il faut mentionner le nouveau nom dans la commande qui est probe.txt Ainsi, la nouvelle commande ressemblera à ceci :
$ scp trial.txt remote_mike@10.10.0.5:/remote/directory/probe.txt
3. Un utilisateur doit utiliser le paramètre -P pour définir le port au cas où SSH sur le système distant écoute un port différent de celui par défaut.
$ scp -P 2322 trial.txt remote_mike@10.10.0.5:/remote/directory
4. Dans le cas où un utilisateur souhaite copier l'intégralité du répertoire plutôt que d'utiliser le paramètre -r pour copier les fichiers de manière récursive. Vous trouverez ci-dessous la commande utilisant l'option -r pour copier un répertoire du système local vers un système distant :
$ scp -r /local/directory remote_mike@10.10.0.2:/remote/directory
Copiez le fichier distant sur le système local
Copier un fichier distant sur un système local est aussi simple que l'inverse. La seule différence est qu'un emplacement distant devient la source et que le système local devient le récepteur. Exécutez donc la commande suivante pour copier un fichier nommé trial.txt depuis le système distant :
$ scp remote_mike@10.10.0.5:/remote/trial.txt /local/directory
La commande est destinée au serveur distant dont l' adresse IP est 10.10.0.5. De plus, s'il existe un mot de passe sur le système distant, il invitera l'utilisateur à entrer le mot de passe.
Copier des fichiers entre deux systèmes distants à l'aide de la commande SCP
L'un des meilleurs avantages de l'utilisation de l'utilitaire de ligne de commande SCP est qu'il ne nécessite aucune connexion à un serveur pour transférer des fichiers entre deux systèmes distants.
Ci-dessous la commande pour transférer des fichiers entre les deux serveurs distants :
$ scp user1@host10.com:/experiment/experiment.txt user2@host20.com:/experiment
Par exemple, la répartition de la commande ci-dessus est
- Fichier à transférer – experiment/experiment.txt
- Système distant – host10.com
- Autres machines distantes -host20.com
- Annuaire – /expérience.
L'utilisateur devra entrer le mot de passe des deux comptes distants pour transférer le fichier.
Dans le cas où l'on souhaite diriger le trafic via ce système à partir duquel la commande est exécutée, utilisez le paramètre -3. Vous trouverez ci-dessous la commande permettant d'acheminer le trafic vers le système :
$ scp -3 user1@host10.com:/experiment/experiment.txt user2@host20.com:/experiment
Utilisation du paramètre -C
Généralement, on utilise le paramètre -C pour compresser les fichiers et accélérer le transfert de fichiers. Le paramètre est pratique et compressera n'importe quel fichier en déplacement. Fait intéressant, la compression du fichier n'a lieu que sur le réseau, donc lorsque le système de destination reçoit le fichier, il obtiendra la taille d'origine et non la version compressée. Mais il faut noter que les fichiers déjà compressés tels que .zip, .rar, etc. ne verront aucune différence en utilisant le paramètre -C.
- Nom d'utilisateur – mike@putty
- Dossier_destination – /Documents
- Fichier – trial.log
- Destination_host – smith@202.xxx(adresse IP)
mike@putty ~/Documents $ scp -Cpv trial.log smith@202.x.x.x:.
Les commandes SCP ci-dessus illustrent un moyen simple de transférer des fichiers et des répertoires de local à distant et vice versa . Il couvre également la manière de transférer des fichiers entre deux systèmes distants. Pour se connecter au serveur Linux, on peut choisir de configurer une authentification basée sur une clé SSH. De plus, les utilisateurs ne sont pas tenus de saisir de mots de passe.