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.