10 SCP käsku failide/kaustade edastamiseks Linuxis


Linuxi administraator peaks tundma CLI-keskkonda. Kuna Linuxi serverites ei ole GUI-režiim tavaline installimine. SSH võib olla populaarseim protokoll, mis võimaldab Linuxi administraatoril servereid turvalisel viisil serveri kaudu hallata. SSH-käsuga sisseehitatud on SCP-käsk. SCP-d kasutatakse faili (de) serverite vahel turvaliseks kopeerimiseks.

Allolev käsk loeb kui "copy_file_name" kausta "destination_folder" aadressil "destination_host", kasutades "username name".

scp source_file_name [email _host:destination_folder

SCP käsus on palju parameetreid, mida saate kasutada. Siin on parameetrid, mis võivad igapäevases kasutuses olla kasulikud.

Andke SCP-protsessi üksikasjalik teave parameetri -v abil

SCP-põhikäsk ilma parameetrita kopeerib failid taustal. Kasutaja ei näe midagi, kui protsess pole lõpule viidud või ilmub mõni viga. Parameetri „-v” abil saate silumisinfo ekraanile printida. See võib aidata teil ühenduse, autentimise ja konfigureerimise probleeme siluda.

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

Esitage muutmisajad, juurdepääsuajad ja režiimid algsetest failidest

Parameeter “-p” aitab teil seda teha. Eeldatav aeg ja ühenduse kiirus ilmuvad ekraanile.

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

Tehke failide edastamine kiiremini parameetri -C abil

Üks parameetritest, mis kiirendab teie failiedastust, on parameeter “-C”. Parameeter „-C” tihendab teie failid liikvel olles. Ainulaadne asi on see, et tihendamine toimub ainult võrgus. Kui fail saabub sihtserverisse, naaseb see algsesse suurusse nagu enne tihendamist.

Vaadake neid käske. See kasutab ühte faili, mille maht on 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

Faili kopeerimine ilma parameetrita “-C” annab tulemuseks 1661,3 sekundit. Võite võrrelda tulemust käsuga, millest allpool kasutatakse parameetrit “-C”.

[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

Nagu näete, toimub pakkimise ajal ülekandeprotsess 162,5 sekundiga. See on kümme korda kiirem kui parameetri “-C” kasutamata jätmine. Kui kopeerite võrgus palju faile, aitaks parameeter “-C” vähendada kogu vajaminevat aega.

Asi, mida peaksime märkama, et tihendusmeetod ei tööta ühegi faili puhul. Kui lähtefail on juba tihendatud, ei leia te sealt mingit paranemist. Parameeter „-C” ei mõjuta selliseid faile nagu .zip, .rar, pildid ja .iso.

Failide krüptimiseks valige teine šifr

Vaikimisi SCP, kasutades failide krüptimiseks "AES-128". Kui soovite selle krüptimiseks vahetada mõne muu šifri vastu, võite kasutada parameetrit “-c”. Vaadake seda käsku.

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

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

Ülal käsku käsk SCP-l kasutada faili krüptimiseks 3des-algoritmi. Palun olge ettevaatlik, et see parameeter, mis kasutab „-c”, mitte „-C”.

Ribalaiuse kasutamise piiramine

Teine kasulik parameeter on „-l” parameeter. Parameeter “-l” piirab kasutatavat ribalaiust. See on kasulik, kui teete automaatse skripti, et kopeerida palju faile, kuid te ei soovi, et ribalaiust tühjendaks SCP-protsess.

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

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

Parameetri „-l” taga olev 400 väärtus tähendab, et me piirame SCP protsessi ribalaiust ainult 50 KB/s. Üks asi on meeles pidada, et ribalaius on määratud kilobitti/s (kbps). See tähendab, et 8 bitti võrdub 1 baidiga.

Kuigi SCP loeb kilobaidis/s (KB/s). Nii et kui soovite oma ribalaiust piirata maksimaalse SCP jaoks ainult 50 KB/s, peate selle määrama väärtuseks 50 x 8 = 400.

Määrake konkreetne port, mida SCP-ga kasutada

Tavaliselt kasutab SCP vaikepordina porti 22. Kuid turvalisuse huvides võite sadama teiseks muuta. Näiteks kasutame porti 2249. Siis peaks käsk olema selline.

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

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

Veenduge, et see kasutaks suurtähte „P”, mitte „p”, kuna tähte „p” kasutatakse juba säilinud aegade ja režiimide jaoks.

Kopeerige failid kataloogi rekursiivselt

Mõnikord peame kopeerima kataloogi ja kõik selles olevad failid/kataloogid. Parem on, kui saame seda teha ühe käsuga. SCP toetab seda stsenaariumi, kasutades parameetrit “-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

Kui kopeerimisprotsess on lõpetatud, leiate sihtserverist kataloogi nimega "dokumendid" koos kõigi selle failidega. Kaust “dokumendid” luuakse automaatselt.

Keela edenemisarvesti ning hoiatus-/diagnostikateade

Kui otsustate edenemisarvesti ja SCP hoiatus-/diagnostikateateid mitte näha, võite selle parameetri „-q” abil keelata. Siin on näide.

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

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

Nagu näete, pole pärast parooli sisestamist mingit teavet SCP protsessi kohta. Pärast protsessi lõppu näete uuesti viipasid.

Failide kopeerimine SCP kaudu, kasutades puhverserverit

Puhverserverit kasutatakse tavaliselt kontorikeskkonnas. SCP pole puhverserverit konfigureeritud. Kui teie keskkond kasutab puhverserverit, peate puhverserveriga suhtlemiseks „käskima“ SCP-d.

Siin on stsenaarium. Puhverserveri aadress on 10.0.96.6 ja puhversport 8080. Puhverserver rakendas ka kasutaja autentimist. Esiteks peate looma faili ~/.ssh/config. Teiseks panite selle käsu selle sisse.

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

Seejärel peate looma faili "~/.ssh/proxyauth", mis sisaldab.

myusername:mypassword

Pärast seda saate teha SCP-d läbipaistvalt nagu tavaliselt.

Pange tähele, et korkkruvi pole teie süsteemi veel installitud. Minu Linux Mintis pean selle esmalt installima, kasutades standardset Linux Mint'i installiprotseduuri.

$ apt-get install corkscrew

Muude yum-põhiste süsteemide puhul saavad kasutajad korgitserit paigaldada järgmise yum-käsu abil.

# yum install corkscrew

Teine asi, et kuna fail „~/.ssh/proxyauth” sisaldab selge vormingus teie „kasutajanime” ja „parooli”, veenduge, et failile pääsete juurde ainult teie.

Valige muu ssh_config-fail

Mobiilseadme kasutaja jaoks, kes vahetab sageli ettevõtte võrgu ja avaliku võrgu vahel, kannatab alati seadete muutmine SCP-s. Parem on, kui saame oma vajadustele vastava faili ssh_config panna.

Puhverserverit kasutatakse ettevõtte võrgus, kuid mitte avalikus võrgus ja te vahetate regulaarselt võrku.

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

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

Vaikimisi paigutatakse fail ssh_config kasutaja kohta kausta ~/.ssh/config. Spetsiaalse puhverserveriga ühilduva faili „ssh_config” loomine muudab võrkude vahel vahetamise lihtsamaks.

Ettevõtte võrgus olles saate kasutada parameetrit “-F”. Avalikus võrgus olles saate parameetri “-F” vahele jätta.

See on kõik SCP kohta. Üksikasjalikumalt näete SCP manulehekülgi. Jätke julgelt kommentaare ja ettepanekuid.