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

Répandre l'amour

SCP (copie sécurisée) est un utilitaire de ligne de commande qui vous permet de copier en toute sécurité des fichiers et des répertoires entre deux emplacements.

Avec scp, vous pouvez copier un fichier ou un répertoire:

  • De votre système local à un système distant.
  • D’un système distant à votre système local.
  • Entre deux systèmes distants de votre système local.
  • Lors du transfert de données avec scp, les fichiers et le mot de passe sont chiffrés afin que quiconque espionne le trafic n’obtienne rien de sensible.

Dans ce tutoriel, nous allons vous montrer comment utiliser la commande scp à travers des exemples pratiques et des explications détaillées des options scp les plus courantes.

Syntaxe de la commande SCP
Avant de vous expliquer comment utiliser la commande scp, commençons par passer en revue la syntaxe de base.

La syntaxe de la commande scp prend la forme suivante:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

Copie
OPTION – options scp telles que le chiffrement, la configuration ssh, le port ssh, la limite, la copie récursive… etc.
[user @] SRC_HOST:] file1 – Fichier source.
[user @] DEST_HOST:] file2 – Fichier de destination
Les fichiers locaux doivent être spécifiés à l’aide d’un chemin absolu ou relatif, tandis que les noms de fichiers distants doivent inclure une spécification d’utilisateur et d’hôte.

scp fournit un certain nombre d’options qui contrôlent chaque aspect de son comportement. Les options les plus utilisées sont:

-P – Spécifie le port ssh de l’hôte distant.
-p – Préserve la modification des fichiers et les temps d’accès.
-q – Utilisez cette option si vous souhaitez supprimer la barre de progression et les messages sans erreur.
-C – Cette option force scp à compresser les données lorsqu’elles sont envoyées à la machine de destination.
-r – Cette option indique à scp de copier les répertoires de manière récursive.
Avant que tu commences
La commande scp s’appuie sur ssh pour le transfert de données, elle nécessite donc une clé ou un mot de passe ssh pour s’authentifier sur les systèmes distants.

See also  12 endroits où vous pouvez acheter des ordinateurs Linux

Le signe deux-points (:) est la façon dont scp fait la distinction entre les emplacements locaux et distants.

Pour pouvoir copier des fichiers, vous devez au moins disposer des autorisations de lecture sur le fichier source et des autorisations d’écriture sur le système cible.

Soyez prudent lorsque vous copiez des fichiers qui partagent le même nom et le même emplacement sur les deux systèmes, scp écrasera les fichiers sans avertissement.

Lors du transfert de fichiers volumineux, il est recommandé d’exécuter la commande scp dans un écran ou une session tmux.

Copier des fichiers et des répertoires entre deux systèmes avec scp
Copier un fichier local sur un système distant avec la commande scp
Pour copier un fichier d’un système local vers un système distant, exécutez la commande suivante:

scp file.txt nom_utilisateur_distant@10.10.0.2: / remote / directory

Où file.txt est le nom du fichier que nous voulons copier, remote_username est l’utilisateur sur le serveur distant, 10.10.0.2 est l’adresse IP du serveur. Le répertoire / remote / est le chemin du répertoire dans lequel vous souhaitez copier le fichier. Si vous ne spécifiez pas de répertoire distant, le fichier sera copié dans le répertoire de base de l’utilisateur distant.

Vous serez invité à entrer le mot de passe de l’utilisateur et le processus de transfert démarrera.

Mot de passe de remote_username@10.10.0.2:
file.txt 100% 0 0,0 Ko / s 00:00

L’omission du nom de fichier de l’emplacement de destination copie le fichier avec le nom d’origine. Si vous souhaitez enregistrer le fichier sous un nom différent, vous devez spécifier le nouveau nom de fichier:

scp file.txt nom_utilisateur_distant@10.10.0.2: /remote/directory/newfilename.txt

Si SSH sur l’hôte distant écoute sur un port autre que le port par défaut 22, vous pouvez spécifier le port à l’aide de l’argument -P:

scp -P 2322 fichier.txt nom_utilisateur_distant@10.10.0.2: / remote / répertoire

La commande pour copier un répertoire ressemble beaucoup à celle de la copie de fichiers. La seule différence est que vous devez utiliser l’indicateur -r pour récursif.

See also  5 Liste des meilleures applications pour Linux Desktop [2021]

Pour copier un répertoire d’un système local vers un système distant, utilisez l’option -r:

scp -r / local / répertoire nom_utilisateur_distant@10.10.0.2: / répertoire / distant

Copier un fichier distant sur un système local à l’aide de la commande scp
Pour copier un fichier d’un système distant vers un système local, utilisez l’emplacement distant comme source et l’emplacement local comme destination.

Par exemple, pour copier un fichier nommé file.txt à partir d’un serveur distant avec l’IP 10.10.0.2, exécutez la commande suivante:

scp nom_utilisateur_distant@10.10.0.2: /remote/file.txt / local / répertoire

Si vous n’avez pas défini de connexion SSH sans mot de passe sur la machine distante, il vous sera demandé de saisir le mot de passe de l’utilisateur.

Copier un fichier entre deux systèmes distants à l’aide de la commande scp
Contrairement à rsync, lorsque vous utilisez scp, vous n’avez pas besoin de vous connecter à l’un des serveurs pour transférer des fichiers d’une machine distante à une autre.

La commande suivante copiera le fichier /files/file.txt de l’hôte distant host1.com vers le répertoire / files sur l’hôte distant host2.com.

scp user1@host1.com: /files/file.txt user2@host2.com: / fichiers

Vous serez invité à entrer les mots de passe des deux comptes distants. Les données seront transférées directement d’un hôte distant à l’autre.

Pour acheminer le trafic via la machine sur laquelle la commande est émise, utilisez l’option -3:

scp -3 user1@host1.com: /files/file.txt user2@host2.com: / fichiers

Conclusion
Dans ce didacticiel, vous avez appris à utiliser la commande scp pour copier des fichiers et des répertoires.

Vous pouvez également configurer une authentification basée sur une clé SSH et vous connecter à y

See also  5 Liste des meilleures applications pour Linux Desktop [2021]

nos serveurs Linux sans saisir de mot de passe.

Si vous vous connectez régulièrement aux mêmes systèmes, vous pouvez simplifier votre flux de travail en définissant toutes vos connexions dans le fichier de configuration SSH.

Leave a Comment