10 SCP Kommandoen fir Dateien/Ordner op Linux ze transferéieren


Linux Administrateuren solle mat der CLI Ëmfeld vertraut sinn. Zënter GUI Modus op Linux Serveren ass net heefeg fir installéiert ze ginn. SSH ass vläicht de populärste Protokoll fir Linux Administrateuren z'erméiglechen d'Servere iwwer Remote sécher Manéier ze managen. Built-in mam SSH Kommando gëtt et SCP Kommando. SCP gëtt benotzt fir Datei(en) tëscht Serveren op eng sécher Manéier ze kopéieren.

[Dir kënnt och gären hunn: Wéi sécheren an Harden OpenSSH Server]

De Kommando hei drënner liest als \copy source_file_name an destination_folder bei destination_host mam Benotzernumm Kont.

scp source_file_name [email _host:destination_folder

Et gi vill Parameteren am SCP Kommando datt Dir benotze kënnt. Hei sinn d'Parameteren déi op alldeegleche Benotzung kënne benotzen.

Gitt déi detailléiert Informatioun vum SCP Prozess mat dem -v Parameter

De Basis SCP Kommando ouni Parameter kopéiert d'Dateien am Hannergrond. D'Benotzer gesinn näischt ausser de Prozess ass gemaach oder e Feeler erschéngt.

Dir kënnt de -v Parameter benotzen fir Debug Informatioun op den Ecran ze drécken. Et kann Iech hëllefen, Verbindung, Authentifikatioun a Konfiguratiounsproblemer ze debuggéieren.

[email  ~/Documents $ scp -v Label.pdf [email @202.x.x.x:.
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 '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

Bitt Ännerungszäiten, Zougangszäiten a Modi vun originelle Dateien

De -p Parameter hëlleft Iech mat dësem. Eng geschätzte Zäit an d'Verbindungsgeschwindegkeet erschéngen um Bildschierm.

[email  ~/Documents $ scp -p Label.pdf [email :.
[email 's password:
Label.pdf 100% 3672KB 126.6KB/s 00:29

Maacht Dateientransfer méi séier mam -C Parameter

Ee vun de Parameteren déi Äre Fichier Transfermaart méi séier kënnen ass de -C Parameter. Den -C Parameter kompriméiert Är Dateien ënnerwee. Déi eenzegaarteg Saach ass datt d'Kompressioun nëmmen am Netz geschitt. Wann d'Datei um Destinatiounsserver ukomm ass, gëtt se zréck an d'originell Gréisst wéi virun der Kompressioun.

Huelt e Bléck op dës Kommandoen. Et benotzt eng eenzeg Datei vun 93 Mb.

[email  ~/Documents $ scp -pv messages.log [email :.
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 '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

Kopie vun Dateien ouni den -C Parameter wäert zu 1661,3 Sekonnen resultéieren. Dir kënnt d'Resultat mat dem Kommando vergläicht ënnert deem de Parameter -C benotzt.

[email  ~/Documents $ scp -Cpv messages.log [email :.
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 '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

Wéi Dir kënnt gesinn, wann Dir Kompressioun benotzt, gëtt den Transferprozess an 162,5 Sekonnen gemaach. Et ass 10 Mol méi séier wéi net de -C Parameter ze benotzen. Wann Dir vill Dateien am Netz kopéiert, da wäert de -C Parameter Iech hëllefen d'Gesamtzäit ze reduzéieren déi Dir braucht.

Déi Saach, déi mir bemierken, ass datt d'Kompressiounsmethod op keng Dateien funktionnéiert. Wann d'Quelldatei scho kompriméiert ass, fannt Dir do keng Verbesserung. Dateien wéi .zip, .rar, Biller an .iso Dateien ginn net vum -C Parameter beaflosst.

SCP Chiffer änneren fir Dateien ze verschlësselen

Par défaut SCP benotzt AES-128 fir Dateien ze verschlësselen. Wann Dir wëllt op en anere Chiffer änneren fir et ze verschlësselen, kënnt Dir de -c Parameter benotzen. Huelt e Bléck op dëse Kommando.

[email  ~/Documents $ scp -c 3des Label.pdf [email :.

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

Deen uewe genannte Kommando seet dem SCP den 3des Algorithmus ze benotzen fir d'Datei ze verschlësselen. Gitt w.e.g. virsiichteg datt dëse Parameter -c net -C benotzt.

Limitéiert d'Bandbreedungsverbrauch mat SCP Kommando

En anere Parameter deen nëtzlech ka sinn ass den -l Parameter. Den -l Parameter limitéiert d'Bandbreedung fir ze benotzen. Et wäert nëtzlech sinn wann Dir en Automatisatiounsskript maacht fir vill Dateien ze kopéieren, awer Dir wëllt net datt d'Bandbreedung vum SCP-Prozess drainéiert gëtt.

[email  ~/Documents $ scp -l 400 Label.pdf [email :.

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

Den 400 Wäert hannert dem -l Parameter bedeit datt mir d'Bandbreedung fir den SCP Prozess op nëmmen 50 KB/sec limitéieren. Eng Saach fir ze erënneren ass datt d'Bandbreedung a Kilobits/sec (kbps) spezifizéiert ass. Et heescht datt 8 Bits gläich wéi 1 Byte sinn.

Wärend SCP zielt a Kilobyte/sec (KB/s). Also wann Dir Är Bandbreedung fir SCP maximal vun nëmmen 50 KB/s limitéiere wëllt, musst Dir et op 50 x 8 = 400 setzen.

Spezifizéieren de spezifesche Port fir mat SCP ze benotzen

Normalerweis benotzt SCP Port 22 als Standardport. Awer aus Sécherheetsgrënn kënnt Dir den Hafen an en aneren Hafen änneren. Zum Beispill benotze mir Port 2249. Da soll de Kommando esou sinn.

[email  ~/Documents $ scp -P 2249 Label.pdf [email :.

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

Vergewëssert Iech datt et Kapital P net p benotzt well p scho fir erhaalen Zäiten a Modi benotzt gëtt.

Kopie Dateien am Verzeechnes rekursiv

Heiansdo musse mir de Verzeechnes an all Dateien/Verzeichnisser dran kopéieren. Et wäert besser sinn wa mir et an 1 Kommando maache kënnen. SCP ënnerstëtzt dësen Szenario mam Parameter -r.

[email  ~/Documents $ scp -r documents [email :.

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

Wann de Kopieprozess fäerdeg ass, fannt Dir um Destinatiounsserver en Dossier mam Numm \Dokumenter mat all sengen Dateien. Den Dossier \Dokumenter gëtt automatesch erstallt.

Desaktivéiere Fortschrëtter Meter an Warnung/Diagnostice Message

Wann Dir gewielt hutt de Fortschrëttsmeter an d'Warnung/Diagnosemeldungen vum SCP net ze gesinn, kënnt Dir et mat dem -q Parameter ausschalten. Hei ass d'Beispill.

[email  ~/Documents $ scp -q Label.pdf [email :.

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

Wéi Dir kënnt gesinn, nodeems Dir d'Passwuert aginn hutt, gëtt et keng Informatioun iwwer de SCP-Prozess. Nodeems de Prozess fäerdeg ass, gesitt Dir erëm eng Ufro.

Kopie Dateien mat SCP duerch Proxy

De Proxy Server gëtt normalerweis am Büroëmfeld benotzt. Natierlech ass SCP net Proxy konfiguréiert. Wann Äert Ëmfeld e Proxy benotzt, musst Dir dem SCP soen fir mam Proxy ze kommunizéieren.

Hei ass de Szenario. D'Proxy Adress ass 10.0.96.6 an de Proxy Hafen ass 8080. De Proxy huet och d'Benotzer Authentifikatioun implementéiert. Als éischt musst Dir d'Datei ~/.ssh/config erstellen. Zweetens, setzt Dir dëse Kommando dran.

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

Da musst Dir d'Datei erstellen ~/.ssh/proxyauth déi enthält.

myusername:mypassword

Duerno kënnt Dir SCP transparent maachen wéi gewinnt.

Notéiert w.e.g. datt de Corkscrew nach net op Ärem System installéiert ass. Op menger Linux Mint muss ech et als éischt installéieren, mat der Standard Linux Mint Installatiounsprozedur.

$ apt-get install corkscrew

Fir aner Yum-baséiert Systemer kënnen d'Benotzer Corkscrew installéieren mat dem folgenden Yum Kommando.

# yum install corkscrew

Eng aner Saach ass datt well d'~/.ssh/proxyauth Datei Äre Benotzernumm a Passwuert am Kloertextformat enthält, gitt sécher datt d'Datei nëmme vun Iech zougänglech ass.

Wielt eng aner ssh_config Datei

Fir mobil Benotzer déi dacks tëscht de Firmennetzwierker an ëffentlechen Netzwierker wiesselen, wäert et leiden ëmmer Astellungen am SCP änneren. Et ass besser wa mir eng aner ssh_config Datei setzen fir eise Besoinen ze passen.

Proxy gëtt am Firmennetz benotzt awer net am ëffentlechen Netzwierk an Dir wiesselt regelméisseg Netzwierker.

[email  ~/Documents $ scp -F /home/pungki/proxy_ssh_config Label.pdf

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

Par défaut gëtt ssh_config Datei pro Benotzer an ~/.ssh/config gesat. Eng spezifesch ssh_config Datei mat Proxy Kompatibilitéit erstellen wäert et méi einfach maachen tëscht Netzwierker ze wiesselen.

Wann Dir am Firmennetz sidd, kënnt Dir de -F Parameter benotzen. Wann Dir op engem ëffentlechen Netzwierk sidd, kënnt Dir den -F Parameter iwwersprangen.

[Dir kënnt och gären hunn: Pscp - Transfer/Kopie Dateien op Multiple Linux Server mat enger eenzeger Shell]

Dat ass alles iwwer SCP. Dir kënnt Mann Säiten vun SCP gesinn fir méi Detailer. Gitt w.e.g. gratis Kommentaren a Virschléi ze hannerloossen.