Les administrateurs Linux doivent être familiarisés avec l’environnement de ligne de commande. Depuis interface graphique (Interface utilisateur graphique) sur les serveurs Linux n’est pas courant à installer.

SSH peut être le protocole le plus populaire pour permettre aux administrateurs Linux de gérer les serveurs de manière sécurisée à distance. Intégré avec SSH commande il y a SCP commande, qui est utilisée pour copier le(s) fichier(s) entre les serveurs de manière sécurisée.

Syntaxe de base de la commande SCP

La commande ci-dessous se lira comme une copie « nom_fichier_source » dans « dossier de destination » à « destination_host » en utilisant le « nom d’utilisateur » compte.

scp source_file_name [email protected]_host:destination_folder

Il existe de nombreux paramètres dans le SCP commande que vous pouvez utiliser. Voici les paramètres qui peuvent être utilisés au quotidien.

Transférer des fichiers en toute sécurité sous Linux

Publicité

Les bases SCP La commande sans paramètres copiera les fichiers en arrière-plan. Les utilisateurs ne verront rien à moins que le processus ne soit terminé ou qu’une erreur n’apparaisse.

Vous pouvez utiliser le « -v” paramètre pour imprimer les informations de débogage dans l’écran. Il peut vous aider à déboguer les problèmes de connexion, d’authentification et de configuration.

Copier le fichier de l’hôte local vers le serveur distant

La commande suivante copie un fichier « scp-cheatsheet.pdf” d’un système Linux local à un système Linux distant sous /accueil/tecmint annuaire.

$ scp -v scp-cheatsheet.pdf [email protected]:/home/tecmint/.

Exemple de sortie:

SCP – Copier le fichier sur un serveur Linux distant

Executing: program /usr/bin/ssh host 192.168.0.183, user tecmint, command scp -v -t /home/tecmint/.
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f  31 Mar 2020
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.0.183 [192.168.0.183] port 22.
debug1: Connection established.
debug1: identity file /home/tecmint/.ssh/id_rsa type -1
debug1: identity file /home/tecmint/.ssh/id_rsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_dsa type -1
debug1: identity file /home/tecmint/.ssh/id_dsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519 type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_xmss type -1
...

Copier le fichier de l’hôte distant vers l’hôte local

La commande suivante copie un fichier « ssh-cheatsheet.pdf” d’un hôte distant à un système local sous /accueil/tecmint annuaire.

$ scp -v [email protected]:/home/ravi/ssh-cheatsheet.pdf /home/tecmint/.

Exemple de sortie:

SCP – Copier le fichier sur le système local

Executing: program /usr/bin/ssh host 192.168.0.183, user tecmint, command scp -v -f /home/ravi/ssh-cheatsheet.pdf
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f  31 Mar 2020
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.0.183 [192.168.0.183] port 22.
debug1: Connection established.
debug1: identity file /home/tecmint/.ssh/id_rsa type -1
debug1: identity file /home/tecmint/.ssh/id_rsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_dsa type -1
debug1: identity file /home/tecmint/.ssh/id_dsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519 type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk type -1
...

Copier le fichier d’un hôte distant vers un autre hôte

La commande suivante copie un fichier « ssh-cheatsheet.pdf” d’un hôte distant vers un autre système hôte distant sous /accueil/tecmint annuaire.

$ scp -v [email protected]:/home/ravi/ssh-cheatsheet.pdf [email protected]:/home/anusha/.

Copier des fichiers avec la date et l’heure de création d’origine

Le « -p » Le paramètre conservera les temps de modification et d’accès d’origine des fichiers lors de la copie des fichiers, ainsi que le temps estimé et la vitesse de connexion apparaîtra à l’écran.

$ scp -p scp-cheatsheet.pdf [email protected]:/home/tecmint/.

Exemple de sortie:

SCP – Préserver les horodatages des fichiers

[email protected]'s password: 
scp-cheatsheet.pdf                                                                                                                                                                 100%  531   721.4KB/s   00:00    

Compression Scp lors de la copie de fichiers

L’un des paramètres qui peuvent accélérer votre transfert de fichiers est le « -C« , qui est utilisé pour compresser vos fichiers lors de vos déplacements. La chose unique est que la compression ne se produit que dans le réseau. Lorsque le fichier est arrivé sur le serveur de destination, il reviendra à sa taille d’origine telle qu’avant la compression.

Jetez un œil à ces commandes. Il utilise un seul fichier de 93 Mo.

$ scp -pv messages.log [email protected]:.

Exemple de sortie:

SCP transfère le fichier sans compression

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t.
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: Sending command: scp -v -p -t.
File mtime 1323853868 atime 1380425711
Sending file timestamps: T1323853868 0 1380425711 0
messages.log 100% 93MB 58.6KB/s 27:05
Transferred: sent 97614832, received 25976 bytes, in 1661.3 seconds
Bytes per second: sent 58758.4, received 15.6
debug1: Exit status 0

Copier des fichiers sans le « -C” paramètre entraînera 1661.3 secondes. Vous pouvez comparer le résultat à la commande ci-dessous en utilisant le « -C" paramètre.

$ scp -Cpv messages.log [email protected]:.

Exemple de sortie:

SCP – Transfère le fichier avec compression

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t.
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: channel 0: new [client-session]
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380428748
Sending file timestamps: T1323853868 0 1380428748 0
Sink: T1323853868 0 1380428748 0
Sending file modes: C0600 97517300 messages.log
messages.log 100% 93MB 602.7KB/s 02:38
Transferred: sent 8905840, received 15768 bytes, in 162.5 seconds
Bytes per second: sent 54813.9, received 97.0
debug1: Exit status 0
debug1: compress outgoing: raw data 97571111, compressed 8806191, factor 0.09
debug1: compress incoming: raw data 7885, compressed 3821, factor 0.48

Comme vous pouvez le voir, lorsque vous utilisez la compression, le processus de transfert se fait dans 162,5 secondes. C’est dix fois plus rapide que de ne pas utiliser le « -C” paramètre. Si vous copiez beaucoup de fichiers sur le réseau, le « -C” Le paramètre vous aiderait à réduire le temps total dont vous avez besoin.

La chose que nous devrions remarquer est que la méthode de compression ne fonctionnera sur aucun fichier. Lorsque le fichier source est déjà compressé, vous n’y trouverez aucune amélioration. Des fichiers tels que .zipper, .rar, des photoset .iso les fichiers ne seront pas affectés par le « -C” paramètre.

Modifier le chiffrement SCP pour chiffrer les fichiers

Par défaut, SCP les usages « AES-128” pour chiffrer les fichiers. Si vous souhaitez passer à un autre chiffrement pour le chiffrer, vous pouvez utiliser le « -c” paramètre.

Jetez un oeil à cette commande.

$ scp -c 3des Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

La commande ci-dessus indique SCP utiliser le Algorithme 3des pour chiffrer le fichier. Veillez à ce que ce paramètre utilisant « -c » pas « -C“.

Limitation de l’utilisation de la bande passante avec la commande SCP

Un autre paramètre qui peut être utile est le « -l” paramètre. Le « -l” limitera la bande passante à utiliser. Cela sera utile si vous faites un script d’automatisation pour copier beaucoup de fichiers, mais vous ne voulez pas que la bande passante soit drainée par le SCP processus.

$ scp -l 400 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 50.3KB/s 01:13

Le 400 valeur derrière le « -l” signifie que nous limitons la bande passante pour le SCP traiter uniquement 50 Ko/s.

Une chose à retenir est que la bande passante est spécifiée dans Kilobits/seconde (kbps). Cela signifie que 8 bits sont égaux à 1 octet.

Alors que SCP compte dans Kilooctet/seconde (Ko/s). Ainsi, si vous souhaitez limiter votre bande passante à un SCP maximum de seulement 50 Ko/svous devez le régler sur 50 x 8 = 400.

SCP avec un port différent

Généralement, SCP utilise le port 22 comme port par défaut, mais pour des raisons de sécurité, vous pouvez remplacer le port par un autre port. Par exemple, nous utilisons le port 2249.

Ensuite, la commande devrait ressembler à ceci.

$ scp -P 2249 Label.pdf [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 262.3KB/s 00:14

Assurez-vous qu’il utilise une majuscule « P » pas « p » depuis « p” est déjà utilisé pour les temps et les modes conservés.

SCP – Copier des fichiers et des répertoires de manière récursive

Parfois, nous devons copier le répertoire et tout fichiers/répertoires à l’intérieur. Ce sera mieux si nous pouvons le faire en une seule commande en utilisant le « -r” paramètre, qui copie l’intégralité du répertoire de manière récursive.

$ scp -r documents [email protected]:.

[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13
scp.txt 100% 10KB 9.8KB/s 00:00

Lorsque le processus de copie est terminé, sur le serveur de destination, vous trouverez un répertoire nommé « documents” avec tous ses fichiers. Le dossier « documents” est automatiquement créé.

SCP – Désactiver les messages de progression

Si vous choisissez de ne pas voir la jauge de progression et les messages d’avertissement/diagnostic du SCP, vous pouvez le désactiver à l’aide de la touche « -q” paramètre. Voici un exemple.

$ scp -q Label.pdf [email protected]:.

[email protected]'s password:
[email protected] ~/Documents $

Comme vous pouvez le voir, après avoir entré le mot de passe, il n’y a aucune information sur le processus SCP. Une fois le processus terminé, vous verrez à nouveau une invite.

SCP – Copier des fichiers à l’aide d’un proxy

Le serveur proxy est généralement utilisé dans l’environnement de bureau. Nativement, SCP n’est pas un proxy configuré. Lorsque votre environnement utilise un proxy, vous devez « dire” SCP pour communiquer avec le proxy.

Voici le scénario. L’adresse proxy est 10.0.96.6 et le port proxy est 8080. Le proxy a également mis en œuvre l’authentification des utilisateurs. Tout d’abord, vous devez créer le « ~/.ssh/config » déposer. Deuxièmement, vous mettez cette commande à l’intérieur.

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

Ensuite, vous devez créer le fichier « ~/.ssh/proxyauth » qui contient.

myusername:mypassword

Après cela, vous pouvez faire SCP de manière transparente comme d’habitude.

Veuillez noter que le un tire-bouchon Il se peut qu’il ne soit pas encore installé sur votre système. Sur mon Menthe Linuxje dois d’abord l’installer, en utilisant la procédure d’installation standard de Linux Mint.

$ apt-get install corkscrew

Pour les autres systèmes basés sur yum, les utilisateurs peuvent installer corkscrew à l’aide de la commande yum suivante.

# yum install corkscrew

Une autre chose est que depuis le « ~/.ssh/proxyauth » fichier contient votre « nom d’utilisateur » et « mot de passe” au format texte clair, assurez-vous que vous seul pouvez accéder au fichier.

Choisissez un autre fichier ssh_config

Pour les utilisateurs mobiles qui basculent souvent entre les réseaux d’entreprise et les réseaux publics, il sera pénible de toujours modifier les paramètres dans SCP. C’est mieux si on peut mettre un autre ssh_config fichier correspondant à nos besoins.

Le proxy est utilisé dans le réseau de l’entreprise mais pas dans le réseau public et vous changez régulièrement de réseau.

$ scp -F /home/pungki/proxy_ssh_config Label.pdf

[email protected]:.
[email protected]'s password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

Par défaut « ssh_config » le fichier par utilisateur sera placé dans « ~/.ssh/config“. Création d’un « ssh_config” avec compatibilité proxy facilitera le basculement entre les réseaux.

Lorsque vous êtes sur le réseau de l’entreprise, vous pouvez utiliser le «-F” paramètre. Lorsque vous êtes sur un réseau public, vous pouvez ignorer le « -F” paramètre.

C’est tout à propos SCP. Tu peux voir pages de manuel de SCP pour plus de détails. N’hésitez pas à laisser des commentaires et des suggestions.

Rate this post
Publicité
Article précédentLes gens réalisent à peine un incroyable hack iPhone pour éditer des photos
Article suivantLa CISA met en garde contre les failles ICS critiques des produits Hitachi, mySCADA, ICL et Nexx
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici