Les administrateurs Linux doivent être familiarisés avec le CLI environnement. Depuis IHM graphique le mode dans les serveurs Linux n’est pas courant à être installé. SSH peut être le protocole le plus populaire pour permettre aux administrateurs Linux de gérer les serveurs via un moyen sécurisé à distance. Intégré avec SSH commande il y a SCP commander. SCP est utilisé pour copier le(s) fichier(s) entre les serveurs de manière sécurisée.
[ You might also like: How to Secure and Harden OpenSSH Server ]
Syntaxe de base de la commande SCP
La commande ci-dessous se lira comme « copier nom_fichier_source » dans « dossier de destination » à « destination_hôte » en utilisant « compte nom d’utilisateur”.
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 quotidiennement.
Fournissez les informations détaillées du processus SCP à l’aide du paramètre -v
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 apparaisse.
Vous pouvez utiliser le « -v” pour imprimer les informations de débogage à l’écran. Il peut vous aider à déboguer les problèmes de connexion, d’authentification et de configuration.
[email protected] ~/Documents $ scp -v Label.pdf [email protected]@202.x.x.x:.
Exemple de sortie
SCP affiche la progression lors de la copie de fichiers
Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -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: 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: password [email protected]'s password: debug1: Authentication succeeded (password). Authenticated to 202.x.x.x ([202.x.x.x]:22). Sending file modes: C0770 3760348 Label.pdf Sink: C0770 3760348 Label.pdf Label.pdf 100% 3672KB 136.0KB/s 00:27 Transferred: sent 3766304, received 3000 bytes, in 65.2 seconds Bytes per second: sent 57766.4, received 46.0 debug1: Exit status 0
Fournir les heures de modification, les heures d’accès et les modes à partir des fichiers originaux
Le « -p” vous aidera avec cela. Un temps estimé et la vitesse de connexion apparaîtront à l’écran.
[email protected] ~/Documents $ scp -p Label.pdf [email protected]:.
Exemple de sortie
SCP estimant le temps nécessaire pour copier un fichier volumineux
[email protected]'s password: Label.pdf 100% 3672KB 126.6KB/s 00:29
Accélérez le transfert de fichiers à l’aide du paramètre -C
L’un des paramètres qui peuvent accélérer votre transfert de fichiers est le « -C » paramètre. Le « -C” paramètre sera compresser vos fichiers Pret à partir. La seule chose est que la compression se produit uniquement dans le réseau. Lorsque le fichier est arrivé sur le serveur de destination, il reviendra à sa taille d’origine comme avant la compression.
Jetez un œil à ces commandes. Il utilise un seul fichier de 93 Mo.
[email protected] ~/Documents $ 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
Copie de fichiers sans le « -C” le paramètre se traduira par 1661.3 secondes. Vous pouvez comparer le résultat à la commande ci-dessous qui en utilisant le « -C » paramètre.
[email protected] ~/Documents $ scp -Cpv messages.log [email protected]:.
Exemple de sortie
SCP transfère les fichiers plus rapidement à l’aide de la 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. Il 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” vous aiderait à réduire le temps total dont vous avez besoin.
Ce que nous devons remarquer, c’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 .Zip *: français, .rar, des photos, et .iso les fichiers ne seront pas affectés par le « -C » paramètre.
Changer le chiffrement SCP pour chiffrer les fichiers
Par défaut SCP en utilisant « AES-128 » pour crypter les fichiers. Si vous souhaitez passer à un autre chiffrement pour le chiffrer, vous pouvez utiliser le « -c » paramètre. Jetez un œil à cette commande.
[email protected] ~/Documents $ 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 d’utiliser le Algorithme 3des pour crypter le fichier. Veillez à ce que ce paramètre utilisant « -c » ne 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” paramètre sera limiter la bande passante à utiliser. Ce 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 traiter.
[email protected] ~/Documents $ 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 processus à seulement 50 Ko/s. Une chose à retenir est que la bande passante est spécifiée dans Kilobits/seconde (kbit/s). C’est dire que 8 bits sont égaux à 1 octet.
Tandis que SCP compte dans Kilooctet/seconde (Ko/s). Donc, si vous souhaitez limiter votre bande passante pour SCP maximum de seulement 50 Ko/s, vous devez le mettre en 50×8 = 400.
Spécifiez le port spécifique à utiliser avec SCP
Habituellement, SCP utilise le port 22 comme port par défaut. Mais pour des raisons de sécurité, vous pouvez changer le port en un autre port. Par exemple, nous utilisons le port 2249. Ensuite, la commande devrait être comme ceci.
[email protected] ~/Documents $ 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 du capital « P » ne pas « p » puisque « p” est déjà utilisé pour les temps et modes préservés.
Copier les fichiers dans le répertoire 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 dans 1 commander. SCP prend en charge ce scénario en utilisant le « -r » paramètre.
[email protected] ~/Documents $ 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éé.
Désactiver le compteur de progression et le message d’avertissement/diagnostic
Si vous choisissez de ne pas voir l’indicateur de progression et les messages d’avertissement/de diagnostic de SCP, vous pouvez le désactiver à l’aide de l’icône « -q » paramètre. Voici l’exemple.
[email protected] ~/Documents $ 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.
Copier des fichiers à l’aide de SCP via Proxy
Le serveur proxy est généralement utilisé dans l’environnement de bureau. Nativement, SCP n’est pas configuré par proxy. Lorsque votre environnement utilise un proxy, vous devez « dire » à SCP de 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 implémenté l’authentification des utilisateurs. Tout d’abord, vous devez créer le « ~/.ssh/config » fichier. 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 tire-bouchon n’est peut-être pas encore installé sur votre système. Sur mon Linux Mint, je 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 le tire-bouchon à l’aide de la commande yum suivante.
# yum install corkscrew
Une autre chose est que depuis le « ~/.ssh/proxyauth » le fichier contient votre « Nom d’utilisateur » et « le mot de passe » au format texte clair, veuillez vous assurer que vous seul pouvez accéder au fichier.
Sélectionnez 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 difficile de toujours modifier les paramètres dans SCP. C’est mieux si on peut mettre un autre ssh_config fichier correspondant à nos besoins.
Voici un exemple de scénario
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.
[email protected] ~/Documents $ 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.
[ You might also like: Pscp – Transfer/Copy Files to Multiple Linux Servers Using Single Shell ]
C’est tout à propos SCP. Tu peux voir pages de manuel de SCP pour plus de détails. N’hésitez pas à laisser vos commentaires et suggestions.
.