Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
In Réseautage Dernière mise à jour : 15 août 2023
Partager sur:
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

SCP est étroitement lié au protocole SSH et est en effet né de la même idée.

SCP s'assure que les données restent confidentielles et inaltérées pendant le transit en tant qu'extension du protocole SSH.

Commençons par comprendre comment fonctionne ce SCP, puis nous verrons les commandes scp.

What is SCP?

Un ordinateur avec deux moniteurs Secure Copy Protocol et un globe dessus.

SCP signifie Secure Copy Protocol.

C'est une méthode sécurisée et efficace pour copier des fichiers et des répertoires entre des hôtes locaux et distants ou entre deux hôtes distants.

Il est largement utilisé pour transférer des données en toute sécurité sur un réseau. SCP s'appuie sur SSH (Secure Shell) pour établir une connexion sécurisée et crypter les données pendant le transit.

Que vous ayez besoin de déplacer un seul fichier ou un répertoire entier, SCP fournit une solution fiable pour les transferts de fichiers à distance.

How SCP Works?

Deux ordinateurs portables utilisent le protocole Secure Copy pour transférer des dossiers entre eux.

SCP est construit sur le protocole SSH - qui est un protocole de réseau cryptographique pour une connexion à distance sécurisée et l'exécution de commandes. Il utilise les mêmes mécanismes de sécurité que SSH, y compris le cryptage et l'authentification, pour protéger les données pendant la transmission.

Lors de l'utilisation de SCP, un utilisateur lance une commande de copie sur sa machine locale qui spécifie le fichier source et l'emplacement de destination sur une machine distante. SCP établit une connexion SSH avec le système distant, puis copie en toute sécurité les fichiers de la source vers la destination.

When to Use SCP?

Un ordinateur avec un protocole de transfert de fichiers sécurisé (SFTP) et un équipement dessus.

SCP est particulièrement utile dans les scénarios suivants.

Sauvegarde du serveur distant

SCP vous permet de sauvegarder des fichiers d'un serveur distant vers votre machine locale ou vice versa, ce qui garantit la redondance des données et reprise après sinistre.

Déploiement d'applications

Il simplifie également le processus en copiant en toute sécurité les fichiers nécessaires sur chaque système cible lors du déploiement d'applications sur plusieurs serveurs,

Transfert de fichiers volumineux

SCP offre une méthode alternative fiable et sécurisée de transmission de données pour les fichiers volumineux qui pourraient être trop volumineux pour être envoyés en pièces jointes.

Partage de fichiers sécurisé

SCP s'assure que les données sont cryptées tout au long du transit lors de l'envoi de fichiers confidentiels à d'autres personnes.

Collaboration à distance

SCP peut être utilisé pour partager des fichiers en toute sécurité avec des collaborateurs ou des membres d'équipe situés à différents endroits.

SCP Command Syntax 

Avant de commencer à utiliser la commande SCP, commençons par comprendre la syntaxe de base.

La syntaxe de la commande SCP ressemble à ceci :

scp [options] [source] [destination]

Explication de la syntaxe

Options

Ce sont des drapeaux facultatifs qui modifient le comportement de la commande SCP. Vous pouvez utiliser diverses options pour personnaliser le processus de transfert. Voici quelques options courantes :

-r : Copie récursivement les répertoires et leur contenu.
-p : Conservez les autorisations, les horodatages et les modes du fichier d'origine.
-P: Spécifie le numéro de port pour la connexion SSH.
-je: Spécifie le fichier de clé privée pour l'authentification SSH.
-C : Utilisez la compression pour accélérer le transfert de données.
-l : Limitez la bande passante utilisée pour le transfert (en Kbit/s).
-v : Mode verbeux - affiche les messages de débogage pendant le transfert.
-o : Passe une option au client SSH. Il peut être utilisé pour désactiver la vérification stricte de la clé de l'hôte.

Source

La source spécifie le fichier ou le répertoire que vous souhaitez copier. Il peut s'agir d'un chemin local ou d'un chemin distant, selon le contexte.

dentaire

La destination spécifie où vous voulez copier la source. Comme la source, il peut également s'agir d'un chemin local ou d'un chemin distant.

Command Examples

# 1. Copier un fichier du serveur local vers le serveur distant

scp /path/to/local/file.txt user@remotehost:/path/to/destination/

/chemin/vers/local/fichier.txt : Il s'agit du fichier source que vous souhaitez copier depuis votre ordinateur local.

utilisateur@hôtedistant : Remplacez l'utilisateur par le nom de l'utilisateur distant et l'hôte distant par le nom d'hôte ou l'adresse IP du serveur distant.

/chemin/vers/destination/ : Il s'agit du chemin de destination sur le serveur distant où le fichier sera copié.

Exemple: Dans mon cas, j'ai choisi un serveur distant pour transférer le fichier.

Nom d'utilisateur de l'hôte distant – Abhishekvarma

Adresse de l'hôte distant - 192.168.29.70

scp /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Lors de la connexion à une machine distante, il demande le mot de passe. Ici, j'ai sélectionné un fichier zip à copier.

Sortie

Ligne de commande Ubuntu - protocole de copie sécurisée pour le transfert de fichiers.

Et la sortie ressemblera à ceci s'il n'y a pas d'erreur lors de la connexion à un serveur distant.

sample.zip                                    100%   20KB  717.9KB/s   00:00

# 2. Copier un fichier de la machine distante vers la machine locale

scp user@remotehost:/path/to/remote/file.txt /path/to/local/destination/

Comme ci-dessus, remplacez l'utilisateur et l'adresse de l'hôte distant.

Exemple

scp abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop

Sortie

Une capture d'écran d'un écran d'ordinateur affichant le protocole de copie sécurisée.

Ceci est juste l'exemple de sortie dans mon cas. L'horodatage varie en fonction de la vitesse de connexion.

sample.zip                                    100%   20KB  51.2KB/s   00:00

# 3. Copier un répertoire de manière récursive

scp user@remotehost:/path/to/remote/file.txt /path/to/local/destination/

Ici, le drapeau '-r' indique à SCP de copier les répertoires de manière récursive (y compris les sous-répertoires et leur contenu).

Exemple

scp -r /home/vboxuser/Desktop abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Ici, j'ai mentionné tout le répertoire pour copier les fichiers.

Sortie

Une capture d'écran d'un fichier transféré en toute sécurité à l'aide du protocole de copie sécurisée (SCP) affiché sur un écran d'ordinateur.
sample.zip                                         100%   20KB    1.0MB/s   00:00
Screenshot from 2023-08-13 21-45-23.png            100%   27KB    1.5MB/s   00:00
.swp                                               100%   12KB  894.2KB/s   00:00
.help.swp                                          100%   12KB  780.4KB/s   00:00

# 4. Copier des fichiers correspondant à un modèle

scp /path/to/local/*.txt user@remotehost:/path/to/destination/

*.SMS – Il s'agit d'un modèle générique qui correspond à tous les fichiers avec une extension .txt dans le répertoire local spécifié. Les chemins source et destination sont les mêmes qu'auparavant.

Exemple

scp /home/vboxuser/Desktop/locfolder/*.png abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Client ssh Ubuntu - miniature de capture d'écran avec prise en charge du protocole de copie sécurisée.

Ici, j'ai essayé avec une extension .png.

Screenshot from 2023-08-13 21-45-23.png            100%   27KB    1.4MB/s   00:00
Screenshot from 2023-08-13 21-55-28.png            100%   24KB    1.7MB/s   00:00
Screenshot from 2023-08-13 22-04-03.png            100%   38KB    2.1MB/s   00:00

# 5. Conserver les attributs de fichier

scp -p /path/to/local/file.txt user@remotehost:/path/to/destination/

Ici, le drapeau '-p' préserve les heures de modification, les heures d'accès et les modes du fichier source lors de la copie.

Exemple

scp -p /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Terminal Ubuntu - miniature de capture d'écran avec intégration du protocole de copie sécurisée.
sample.zip                                         100%   20KB    420.0KB/s   00:00

# 6. Spécifiez un port SSH différent

scp -P 22 /path/to/local/file.txt user@remotehost:/path/to/destination/

Le drapeau '-P' spécifie un port SSH différent (22 dans ce cas) pour la connexion SCP. Vous pouvez utiliser n'importe quel port que vous voulez.

Exemple

scp -P 22 /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Une capture d'écran d'un transfert de protocole de copie sécurisée dans un terminal Ubuntu.
sample.zip                                         100%   20KB    1.2MB/s   00:00

# 7. Copie avec compression

scp -C /path/to/local/file.txt user@remotehost:/path/to/destination/

Cet indicateur '-C' active la compression pendant le transfert, réduisant potentiellement la taille des données transférées. L'adresse source et destination sont les mêmes que celles expliquées précédemment.

Exemple

scp -C /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Capture d'écran d'un écran d'ordinateur affichant un transfert de fichiers à l'aide du protocole de copie sécurisée.
sample.zip                                         100%   20KB    985.8KB/s   00:00

# 8. Sortie détaillée pour le débogage

scp -v /path/to/local/file.txt user@remotehost:/path/to/destination/

Cette option '-v' active la sortie détaillée, qui fournit des informations plus détaillées pendant le processus de transfert.

Exemple

scp -v /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Terminal Ubuntu - Protocole de copie sécurisée.

L'exemple de sortie ressemblera à ceci.

Executing: program /usr/bin/ssh host 192.168.29.70, user abhishekvarma, command scp -v -t /Users/abhishekvarma/Desktop OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa_sk type -1 debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1

# 9. Copier de distant à local avec une sortie détaillée

scp -v user@remotehost:/path/to/remote/file.txt /path/to/local/destination/

Mêmes explications que dans l'exemple détaillé précédent, avec les rôles des emplacements locaux et distants inversés.

Exemple

scp -v abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop

Sortie

Une capture d'écran démontrant le protocole de copie sécurisée implémenté dans un script python sur un PC.

La sortie ressemblera à ceci.

Executing: program /usr/bin/ssh host 192.168.29.70, user abhishekvarma, command scp -v -f /Users/abhishekvarma/Desktop/sample.zip OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa_sk type -1 debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1

# 10. Copier en utilisant une clé SSH différente


scp -i /path/to/private_key.pem /path/to/local/file.txt user@remotehost:/path/to/destination/

Cet indicateur "-i /path/to/private_key.pem" spécifie une clé privée SSH différente pour l'authentification.

Exemple

scp -i /path/to/private_key.pem /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Terminal Ubuntu - miniature de capture d'écran avec protocole de copie sécurisée.

Si vous avez une clé privée, vous pouvez l'utiliser ou bien vous pouvez utiliser celle par défaut.

sample.zip                                         100%   20KB    1.1MB/s   00:00

# 11. Copier plusieurs fichiers sur le serveur distant

scp file1.txt file2.txt user@remotehost:/path/to/destination/

Cette commande copie file1.txt et file2.txt du répertoire local vers la destination spécifiée sur le serveur distant.

Exemple

scp  /home/vboxuser/Desktop/image.png  /home/vboxuser/Desktop/sample.zip  abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop 

Output

Terminal Ubuntu - miniature de capture d'écran avec Secure Copy Protocol.
image.png                                          100%   39KB    1.4MB/s   00:00
sample.zip                                         100%   20KB    1.5MB/s   00:00

# 12. Copier un fichier distant avec un nom différent

scp user@remotehost:/path/to/remote/file.txt /path/to/local/newfilename.txt

Cette commande copie file.txt du serveur distant vers le répertoire local, en le renommant newfilename.txt au cours du processus.

Exemple

scp abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop/newfile.zip

Sortie

Une capture d'écran sécurisée d'un programme python sur un téléphone utilisant le protocole de copie sécurisée.

L'ancienne et la nouvelle extension de fichier doivent être identiques lors de l'exécution de cette commande.

sample.zip                                         100%   20KB    28.7KB/s   00:00

# 13. Copie avec une limite de bande passante spécifique

scp -l 1000 /path/to/local/file.txt user@remotehost:/path/to/destination/

Ce drapeau '-l' spécifie une limite de bande passante en Kbps (1000 Kbps dans ce cas) pour le transfert.

Exemple

scp -l 300 /home/vboxuser/Desktop/sample.zip abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Terminal Ubuntu - miniature de capture d'écran utilisant le protocole Secure Copy pour le transfert de fichiers.
sample.zip                                         100%   20KB    31.3KB/s   00:00
scp -rp /path/to/local/source/ user@remotehost:/path/to/destination/

Le drapeau '-p' préserve les attributs de fichier et le drapeau -r copie récursivement les répertoires. Cette commande préserve également les liens symboliques lors de la copie.

Exemple

scp -rp /home/vboxuser/Desktop/image.png abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Terminal Ubuntu - miniature de capture d'écran pour le protocole de copie sécurisée.
image.png                                        100%   39KB    1.8MB/s   00:00

# 15. Copie détaillée de fichiers avec compression

scp -vC /path/to/local/file.txt user@remotehost:/path/to/destination/

Cette commande combine à la fois une sortie détaillée (-v) et une compression (-C) pendant le transfert de fichier.

Exemple

scp -vC /home/vboxuser/Desktop/image.png abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

Capture d'écran d'un écran d'ordinateur affichant une session Secure Copy Protocol (SCP) avec une liste de fichiers.

La sortie ressemblera à ceci.

scp: debug1: fd 3 clearing O_NONBLOCK
Sending file modes: C0664 40050 image.png
Sink: C0664 40050 image.png
image.png
d 6 clearing O_NONBLOCK
scp: debug1: fd • clearing O_NONBLOCK
image.png
debug1: client_input_channel_req: channel ✪ type exit-status reply debug1: channel 0: free: client-session, channels 1
Transferred: sent 40220, received 2576 bytes, in 0.1 seconds
Bytes per second: sent 352570.0, received 22581.3
root@ubuntu: ~
debug1: Exit status 0
debug1: compress outgoing: raw data 40287, compressed 38198, factor 0.95 debug1: compress incoming: raw data 792, compressed 757, factor 0.96 

# 16. Copie entre deux serveurs distants

Si vous souhaitez transférer des fichiers d'un serveur distant à un autre, vous pouvez utiliser cette commande.

scp user1@remotehost1:/path/to/remote/file.txt user2@remotehost2:/path/to/destination/

Cette commande transfère directement file.txt de remotehost1 à remotehost2.

Exemple

scp user1@remotehost1:/path/to/remote/file.txt abhishekvarma@192.168.29.70:/Users/abhishekvarma/Desktop

Sortie

file.txt                100%  512KB 512.0KB/s   00:00

S'il y a des erreurs ou des problèmes pendant le transfert, la sortie peut afficher des messages d'erreur qui fournissent des informations sur ce qui s'est mal passé.

ssh: connect to host source.example.com port 22: Connection refused
lost connection

Dans ce cas, le message d'erreur suggère que la connexion SSH au serveur source a été refusée. Cela peut être dû à diverses raisons, telles qu'un nom d'hôte, une adresse IP, un port incorrects ou des problèmes de configuration SSH.

FAQs on SCP

Voici quelques questions fréquemment posées concernant le protocole SCP, ainsi que leurs réponses.

En quoi SCP diffère-t-il de FTP ou SFTP ?

FTP signifie File Transfer Protocol.

SFTP signifie File Transfer Protocol. Ceux-ci sont tous deux utilisés pour les transferts de fichiers.

SCP fonctionne sur SSH et offre à la fois le cryptage et l'authentification dans un protocole unique, ce qui le rend plus sûr et efficace.

Quand dois-je utiliser SCP ?

SCP est le mieux adapté aux scénarios nécessitant des transferts de fichiers sécurisés et fiables, tels que les sauvegardes à distance, le déploiement de logiciels, la distribution de fichiers de configuration et la collaboration entre les membres de l'équipe.

SCP est-il compatible avec les adresses IPv6 ?

Oui, SCP prend en charge les adresses IPv4 et IPv6, ce qui vous permet de transférer des fichiers sur des réseaux utilisant n'importe quel schéma d'adressage.

Conclusion✍️

J'espère que vous avez trouvé cet article utile pour en savoir plus sur SCP et son fonctionnement.

Vous pourriez également être intéressé par Commandes Linux pour l'administrateur système

  • Ashlin Jenifa
    Auteur
    Bonjour, je m'appelle Ashlin et je suis rédacteur technique senior. Je suis dans le jeu depuis un moment maintenant, et je me spécialise dans l'écriture sur toutes sortes de sujets technologiques sympas comme Linux, la mise en réseau, la sécurité, les outils de développement, l'analyse de données et le cloud... lire la suite
  • Narendra Mohan Mittal
    Éditeur

    Narendra Mohan Mittal est stratège principal en stratégie de marque numérique et éditeur de contenu avec plus de 12 ans d'expérience polyvalente. Il est titulaire d'un M-Tech (médaillé d'or) et d'un B-Tech (médaillé d'or) en informatique et ingénierie.


    ... lire la suite
Merci à nos commanditaires
Plus de bonnes lectures sur le réseautage
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation de travail tout-en-un pour vous aider à gérer les projets, les tâches, le travail, les ventes, le CRM, les opérations, workflowset plus encore.
    Essayez Monday
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder