GNU/Linux >> Tutoriels Linux >  >> Linux

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

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 cryptés afin que quiconque espionne le trafic n'obtienne rien de sensible.

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

Syntaxe de commande SCP #

Avant d'expliquer comment utiliser le scp commande, commençons par revoir la syntaxe de base.

Le scp la syntaxe de la commande prend la forme suivante :

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • 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 les heures de modification et d'accès des fichiers.
  • -q - Utilisez cette option si vous souhaitez supprimer la jauge de progression et les messages sans erreur.
  • -C - Cette option force scp pour comprimer les données au fur et à mesure qu'elles sont envoyées à la machine de destination.
  • -r - Cette option indique scp pour copier des répertoires de manière récursive.

Avant de commencer #

Le scp la commande repose sur ssh pour le transfert de données, il nécessite donc une clé ssh ou un mot de passe pour s'authentifier sur les systèmes distants.

Les deux-points (: ) est comment scp faire 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 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 le scp commande dans un screen ou tmuxsession.

Copier des fichiers et des répertoires entre deux systèmes avec scp #

Copier un fichier local sur un système distant avec le scp Commande #

Pour copier un fichier d'un système local vers un système distant, exécutez la commande suivante :

scp file.txt [email protected]:/remote/directory

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 /remote/directory est le chemin d'accès au 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 commencera.

[email protected]'s password:
file.txt                             100%    0     0.0KB/s   00:00

Omettre le 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 [email protected]:/remote/directory/newfilename.txt

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

scp -P 2322 file.txt [email protected]:/remote/directory

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

Pour copier un répertoire d'un système local vers un système distant, utilisez le -r choix :

scp -r /local/directory [email protected]:/remote/directory

Copier un fichier distant sur un système local à l'aide de scp Commande #

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 depuis un serveur distant avec IP 10.10.0.2 exécutez la commande suivante :

scp [email protected]:/remote/file.txt /local/directory

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 utilisateur.

Copier un fichier entre deux systèmes distants à l'aide de scp Commande #

Contrairement à rsync , lors de l'utilisation de 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 depuis l'hôte distant host1.com dans le répertoire /files sur l'hôte distant host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Vous serez invité à saisir 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 le -3 choix :

scp -3 [email protected]:/files/file.txt [email protected]:/files

Conclusion #

Dans ce tutoriel, vous avez appris à utiliser le scp commande pour copier des fichiers et des répertoires.

Vous pouvez également configurer une authentification basée sur une clé SSH et vous connecter à vos 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.


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

  2. Comment utiliser la commande SFTP pour le transfert de fichiers sécurisé

  3. Commande SCP Linux - Comment transférer un fichier SSH de distant à local

  4. Comment utiliser Netcat pour transférer des fichiers sous Linux

  5. Comment transférer des fichiers en toute sécurité à l'aide de la commande SCP sous Linux

Comment utiliser la commande Truncate sous Linux

Comment utiliser une commande de fichier sous Linux

Comment utiliser la commande SCP sous Linux

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

Comment utiliser la commande lsof sous Linux

Comment utiliser la commande shred Linux