GNU/Linux >> Tutoriels Linux >  >> Linux

Commande SCP sous Linux :comment l'utiliser, avec des exemples

La commande SCP sous Linux vous permet de copier des fichiers via des connexions ssh. C'est très utile si vous voulez transporter des fichiers entre ordinateurs.

Table des matières

  • Syntaxe de la commande SCP
  • Comment utiliser la commande SCP sous Linux
    • Transférer un fichier local vers un serveur distant
    • Transférer un fichier d'un serveur distant vers une machine locale
    • Transférer le répertoire local vers le serveur distant de manière récursive
    • Transférer le répertoire du serveur distant vers le local de manière récursive
    • Transférer plusieurs fichiers vers des serveurs distants
    • Augmentez la vitesse de transfert en activant la compression
    • Spécifier un port SSH différent
    • Conserve les autorisations, les modes et l'heure d'accès des fichiers
    • Utiliser l'identification du fichier dans la commande SCP
  • Conclusion

Le scp (Copie sécurisée) utilise SSH pour transférer des données d'un hôte à un autre et utilise la même authentification et la même sécurité que SSH. Cependant, la commande s'appuie sur SSH pour le transfert de données, nécessitant une clé ssh ou un mot de passe pour s'authentifier sur les systèmes distants.

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. C'est donc l'un des moyens les plus sûrs de transférer des données sur un réseau.

Le scp La commande sous Linux peut être utilisée de 3 manières :

  • Pour copier d'un serveur distant vers une machine locale.
  • Également, pour copier d'une machine locale vers un serveur distant.
  • Pour copier d'un serveur distant vers un autre serveur distant.

Syntaxe de la commande SCP

La syntaxe du scp la commande est :

scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2

Certains des scp les plus largement utilisés les options de commande incluent :

  • -P  :Spécifiez le port SSH du serveur
  • -p  :Préserve les autorisations, les modes et l'heure d'accès des fichiers (notez les minuscules)
  • -q  :Mode silencieux, n'affiche pas la progression ni les messages
  • -C :Compressez les données pendant la transmission
  • -r :Récursif - inclut les sous-répertoires et leur contenu
  • -i :Fichier d'identité ou clé privée

Comment utiliser la commande SCP sous Linux

Transférer un fichier local vers un serveur distant

Copiez file.txt du répertoire actuel du système local vers le /tmp du serveur distant répertoire.

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

Transférer le fichier du serveur distant vers la machine locale

La commande suivante copiera /tmp/file.txt du serveur distant à la machine locale sous le répertoire personnel de l'utilisateur.

scp [email protected]:/tmp/file.txt /home/user

Transférer le répertoire local vers le serveur distant de manière récursive

Vous pouvez utiliser le -r option dans le scp commande sous Linux pour copier récursivement l'intégralité du répertoire d'un système à un autre.

La commande suivante copiera le /home/user/myfiles répertoire de la machine locale vers le répertoire /tmp du serveur distant répertoire.

scp -r /home/user/myfiles [email protected]:/tmp/

Transférer le répertoire du serveur distant vers le local de manière récursive

La commande suivante copiera /tmp/serverfiles répertoire du serveur distant vers la machine locale sous le répertoire personnel de l'utilisateur de manière récursive.

scp -r [email protected]:/tmp/serverfiles /home/user

Transférer plusieurs fichiers vers des serveurs distants

Dans l'exemple suivant, les fichiers file1.txt et file2.txt de l'hôte source sont copiés dans le /tmp du serveur distant répertoire.

scp file1.txt file2.txt [email protected]:/tmp/

Augmenter la vitesse de transfert en activant la compression

Vous pouvez augmenter la vitesse de transfert en activant la compression à l'aide du -C option. Il autorisera automatiquement la compression à la source et la décompression à l'hôte de destination.

La commande suivante copiera le /home/user/myfiles répertoire de la machine locale vers le répertoire /tmp du serveur distant répertoire récursivement avec la compression activée.

scp -r -C /home/user/myfiles [email protected]:/tmp/

Spécifier un port SSH différent

Il peut y avoir des cas où le port SSH est modifié sur l'hôte de destination, donc en utilisant la commande scp sous Linux, vous pouvez spécifier le numéro de port SSH en utilisant le -P option.

La commande suivante copiera file.txt du répertoire actuel du système local vers le /tmp du serveur distant répertoire utilisant le port 2222.

scp -P 2222 file.txt [email protected]:/tmp/

Conserve les autorisations, les modes et l'heure d'accès des fichiers

Utilisez le -p option dans le scp commande pour conserver les autorisations, le temps d'accès et les modes lors de la copie de fichiers.

La commande suivante copiera file.txt du répertoire actuel du système local vers le /tmp du serveur distant répertoire et conservera ses propriétés.

scp -p file.txt [email protected]:/tmp/

Utiliser le fichier d'identification dans la commande SCP

Lors de l'utilisation d'une clé SSH au lieu d'un mot de passe pendant la session SSH, le -i flag vous permet de sélectionner le fichier à partir duquel l'identité (clé privée) pour l'authentification par clé publique est lue.

La commande suivante copiera file.txt du répertoire actuel du système local vers le /tmp du serveur distant répertoire en utilisant le my_second_indent.pem fichier de clé privée.

scp -i my_second_indent.pem file.txt [email protected]:/tmp/

Conclusion

Dans ce tutoriel, vous avez appris à utiliser le scp commande sous Linux pour copier des fichiers et des répertoires. Ceci est particulièrement utile en remplacement du FTP, qui est intrinsèquement non sécurisé par défaut.

Vous pouvez également configurer une authentification basée sur une clé SSH et vous connecter à vos serveurs Linux sans saisir de mot de passe.

Pour en savoir plus sur le scp commande sous Linux, consultez sa page de manuel.


Linux
  1. Comment utiliser la commande Linux Rsync (synchronisation à distance)

  2. Comment utiliser la commande Linux Hexdump avec des exemples pratiques

  3. Comment utiliser la commande Sed sous Linux avec des exemples

  4. Comment utiliser la commande Rmmod sous Linux avec des exemples

  5. Comment utiliser la commande Dig sous Linux avec des exemples

Comment utiliser la commande who sous Linux avec des exemples

Commande d'alias Linux :comment l'utiliser avec des exemples

Comment utiliser la commande Grep sous Linux + exemples utiles de Grep

Comment utiliser la commande Linux gunzip avec des exemples

Comment utiliser la commande Linux rm avec des exemples

Comment utiliser la commande Sleep sous Linux :expliqué avec des exemples