Kuidas kasutada SCP käsku Linuxis

Lihtne õpetus, mis aitab teil käsku scp kasutades oma Linuxi süsteemist faile kaugsüsteemi üle kanda.

SCP tähistab "turvalist koopiat". scp on Linuxi pakutav käsurea utiliit, mis võimaldab failide ja kataloogide ülekandmist ühest masinast teise ebaturvalise võrgu kaudu.

Kui soovite faile ühest süsteemist teise kopeerida, siis scp võib olla väga hea võimalus failide ja kataloogide turvaliseks edastamiseks. Kui kaks suhtlevat masinat on ühendatud sama võrgu kaudu, siis kasutades scp muutub võimalikuks.

Võite suuresti loota scp käsk konfidentsiaalsuse ja terviklikkuse tagamiseks, kuna ülekantav fail ja edastamiseks kasutatav parool on mõlemad krüpteeritud. Tundlikku teavet ei avaldata isegi siis, kui keegi üritab selle edastamise ajal liiklust nuhkida.

Selles õpetuses näeme erinevaid näiteid scp käsk. Vaatame ka mõningaid sageli kasutatavaid valikuid scp käsk.

Käsuga scp alustamine

Kasutades scp käsuga saate faile/katalooge üle kanda:

  • Kohalikust masinast kaugmasinasse.
  • Kahe kaugmasina vahel.
  • Kaugmasinast teie kohalikku masinasse.

Üldine süntaks:

scp [Valik] [allika_faili_nimi] [kasutaja@sihtkoha_host]: sihtkoha_kaust

Mõistame ükshaaval selle käsu põhiatribuute.

  • [allika_faili_nimi] See on lähtefail, mida soovite kopeerida.
  • [kasutaja@sihtkoha_host] See on kaugsüsteemi kasutajanimi, kuhu soovite faili kopeerida. Kaugmasina IP-aadressi kasutatakse ka selles atribuudis pärast "@‘ sümbol.
  • [sihtkaust] See on kataloog, kuhu soovite kopeeritud faili salvestada.

Märge: käärsool (:) sümbolit kasutatakse süntaksis, kuna see eristab kohalikku ja kaugemat asukohta. Me kasutame koolonit (:) kaugsüsteemiga, et määrata kataloog, kuhu failid kopeerida. Kui me sihtkataloogi ei määra, kopeeritakse failid süsteemi kaugkasutaja kodukataloogi.

Kasutatavad valikud scp

Mõned kõige populaarsemad valikud, mida kasutatakse koos scp käsud on loetletud allpool.

VõimalusKirjeldus
-Cvõimaldab ülekantava faili tihendamist
-vanna paljusõnaline väljund
-rfailide ja kataloogide rekursiivne kopeerimine
-lksäilitada failide õigused, režiimid ja juurdepääsuajad
-Pmuutke kasutatavat vaikeporti scp käsk

Nende valikute näiteid näeme õpetuses edasi.

Faili kopeerimine kohalikust süsteemist kaugsüsteemi

scp võimaldab teil edastada faile kohalikust süsteemist kaugsüsteemi, kasutades järgmist süntaksit. See võimaldab teil faile kaugserverisse üle kanda või üles laadida.

Üldine süntaks:

scp [faili_nimi] remote_user@host:[sihtkaust]

Näide:

scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav

Selles näites kopeerime faili "apache-tomcat-9.0.8.tar.gz" kohalikust süsteemist kaugsüsteemi, mille IP-aadress on "143.110.178.221".

Kaugsüsteemis kopeeritakse fail nüüd kataloogi nimega 'gaurav'.

Väljund:

gaurav@ubuntu:~$ scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav [email protected] parool: apache-tomcat-9.0.8.tar.gz 100% 798 KB /s 02:00 gaurav@ubuntu:~$ 

Kontrollime faili kaugsüsteemi väljundit.

root@ubuntu-s-1vcpu-1gb-blr1-01:~/gaurav# ls apache-tomcat-9.0.8.tar.gz root@ubuntu-s-1vcpu-1gb-blr1-01:~/gaurav#

Seega kopeeritakse fail edukalt kaugsüsteemi kasutades scp käsk.

Mitme faili kopeerimine kaugsüsteemi

Eelmises näites õppisime faili kaugsüsteemi üle kandma, kasutades scp käsk. Nüüd näeme meetodit mitme faili edastamiseks kohalikust süsteemist kaugsüsteemi selle käsu abil.

Üldine süntaks:

scp [fail 1] [fail 2] [fail n] remote_username@remote_host:[konkreetne kataloog]

Mõistame seda lihtsat protsessi näite abil.

Näide:

scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav

Siin mainitakse mitut faili kaugsüsteemi kopeerimise käsus.

Väljund:

gaurav@ubuntu:~$ scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav [email protected] parool: ath.html 100%s0.19 KB/9 KB 02 abc.txt 100% 0 0,0 KB/s 00:00 ppa-purge_0.2.8+bzr56_all.deb 100% 4360 42,2 KB/s 00:00 gaurav@ubuntu:~$

Kaugsüsteemis:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/gaurav# ls -l kokku 9800 -rw-r--r-- 1 juurjuur 0 okt 5 08:58 abc.txt -rw-r-- r-- 1 juurjuur 9818695 5. oktoober 08:35 apache-tomcat-9.0.8.tar.gz -rw-r--r-- 1 juurjuur 204057 5. oktoober 08:58 ath.html -rw-r-- r-- 1 juurjuur 4360 5. oktoober 08:58 ppa-purge_0.2.8+bzr56_all.deb root@ubuntu-s-1vcpu-1gb-blr1-01:~/gaurav#

Kõik kolm faili on nüüd kaugsüsteemi kopeeritud.

Kataloogi kopeerimine kaugsüsteemi

Sa võid kasutada scp käsk kataloogi kopeerimiseks kohalikust süsteemist kaugsüsteemi. Protsess sarnaneb faili kopeerimisega. Kataloogi sisu kopeerimiseks võite kasutada ka -r valik koos scp käsk.

The -r valikut kasutatakse kataloogi rekursiivseks kopeerimiseks. See tähendab, et ka kõik kataloogis olevad alamkaustad ja failid kopeeritakse.

Üldine süntaks:

scp -r [kataloogi tee] remote_username@remote_host:[sihtkataloog]

Näide:

scp -r PycharmProjects [email protected]:gaurav

Väljund:

gaurav@ubuntu:~$ scp -r PycharmProjects [email protected]:gaurav [email protected] parool: __main__.py 100% 623 7.8KB/s 00:00 __ins 00:00 __ins 00_0_.py __ins :00 completion.py 100% 2929 28,1KB/s 00:00 search.py ​​100% 4728 38,7KB/s 00:00 uninstall.py 100% 2963 32,5KB/s 00:00 hash.py 18/10 61 KB s 00:00 check.py 100% 1430 16,8KB/s 00:00 configuration.py 100% 7125 50,4KB/s 00:00 show.py 100% 6289 49,8KB/s 00:00 download.py 623% 462 KB/s 00:00 gaurav@ubuntu:~$ 

Kasutades -r valik koos scp käsk kopeerib kõik kataloogis olevad alamkaustad ja failid kohalikust masinast kaugsüsteemi.

Üksikasjaliku teabe kuvamine scp protsessi kohta

Saate kasutada -v (väikesed tähed v), et kuvada teavet failide kohta, mida kopeeritakse kas kaugjuhtimispuldil või teie kohalikus süsteemis. Seda tüüpi väljundit nimetatakse ka üksikasjalikuks väljundiks.

Kui seda suvandit kasutatakse, kuvatakse ekraanil täielik silumisinfo faili kohta.

Üldine süntaks:

scp -v [faili_nimi] kasutajanimi@kasutaja_host:

Näide:

scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team

Väljund:

gaurav@ubuntu:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team Käivitamine: programm /usr/bin/ssh host 159.89.170.11, kasutaja juur, käsk scp -v -t meeskond OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7. detsember 2017 debug1: konfiguratsiooniandmete lugemine /home/gaurav/.ssh/config debug1: konfiguratsiooniandmete lugemine /etc/ssh/ssh_config debug1: /etc/sfshig/etc/sfshig rida 19: * debug1 valikute rakendamine: Ühenduse loomine 159.89.170.11 [159.89.170.11] pordiga 22. debug1: ühendus loodud. debug1: key_load_public: sellist faili või kataloogi pole silumisfaili kanal 0 rtüüp väljumisoleku vastus 0 silumine1: kanal 0: tasuta: kliendiseanss, n-kanalid 1 silumine1: fd 0 kustutamine O_NONBLOCK silumine1: fd 1 tühjendus O_NONBLOCK Edastatud: saadetud 9826736, vastu võetud 4016 baiti sekundis. 101133.9, sai 41.3 silumine1: Väljumise olek 0 gaurav@ubuntu:~$ 

Siin näete väljundis, et faili silumisinformatsioon kuvatakse teie terminalis, kui scp käsku kasutatakse koos -v valik.

Failide edastamine kahe kaughosti vahel

Linux võimaldab teil luua ühenduse mitme kaughostiga. Saate faile ja katalooge kahe kaugjuhtimisseadme vahel edastada, kasutades scp käsk.

Üldine süntaks:

scp kaugkasutaja_1@host_1:/[faili_nimi] kaugkasutaja_2@host_2:[salvestatav_kaust]

Süntaks võib tunduda pisut laiem, kuid on üsna lihtne. Siin annab käsu esimene osa sisendi kaugkasutaja kohta, kust fail tuleb kopeerida. koolon (:) ja / kasutatakse kahe kaugmasina vahel edastatava faili või kataloogi nime määramiseks.

Teine osa annab teavet sihtkaugsüsteemi kohta, kuhu fail kopeeritakse.

Näide:

scp -r [email protected]:gaurav [email protected]:/tiim

Siin kopeerime kataloogi nimega "gaurav" rekursiivselt kohalikust süsteemist kaugsüsteemi. Fail kopeeritakse kaugsüsteemi kausta "meeskond".

Väljund:

gaurav@ubuntu:~$ scp -r [email protected]:/gaurav [email protected]:/team [email protected] parool: 1.py 100% 134 261.3KB/s variables 0:0.3KB/s 100% 377 949,2 KB/s 00:00 abc.txt 100% 0 0,0 KB/s 00:00 ath.html 100% 199 kB 41,8 MB/s 00:00 gaurav@ubuntu:~$

Siin kasutasime scp kohaliku süsteemi käsk kataloogi Gaurav ülekandmiseks ühest kaugserverist teise.

Edastage failid kaugsüsteemist kohalikku süsteemi

Saate hõlpsasti faile või katalooge kaugsüsteemist kohalikku süsteemi üle kanda, kasutades scp käsk. Lihtsamalt öeldes saate kaugserverist oma kohalikku süsteemi alla laadida mitu faili või kataloogi, kasutades scp käsk.

Üldine süntaks:

scp remote_username@user_host:/files/file.txt /[local_system]

Väljund:

gaurav@ubuntu:~$ scp [email protected]:how.txt . [email protected] parool: how.txt 100% 11 0.1KB/s 00:00 gaurav@ubuntu:~$

Siin laadisin (kopeerisin) faili kaugserverist oma kodukataloogi. Seetõttu olen kasutanud punkti (.), et määrata faili minu kodukataloogi kopeerimiseks käsus.

Näidisväljund:

gaurav@ubuntu:~$ ls -l how.txt -rw-r--r-- 1 gaurav gaurav 11. oktoober 6 09:49 how.txt gaurav@ubuntu:~$ 

Siin on fail nüüd kaugserverist minu kodukataloogi kopeeritud.

Samamoodi saate kaugserverist alla laadida mitu faili või kataloogi, kasutades scp käsk sobivate suvanditega.

Failide tihendamine kiiremaks edastuseks

Mõnikord võib suurte failide edastamine olla aeganõudev. Selle probleemi saab lahendada rakenduse kasutamise ajal scp käsuga -C (suurtähega C) valik.

Kasutades -C suvand, tihendab suurema suurusega failid, mis hõlbustab kiiremat edastamist ja säästab seega aega.

Üks huvitav fakt selle valiku kohta on see, et fail kopeeritakse sihtsüsteemi algses suuruses, kuid edastusprotsessi ajal tihendatakse suurus, et võimaldada kiiremat ülekandmist. Seega toimub tihendamine ainult võrgus.

Üldine süntaks:

scp -C [faili_nimi] kasutajanimi@kasutaja_host:[sihtkaust]

Vaatame erinevuse mõistmiseks võrdlevat näidet.

Ülekanne ilma -C valikuta:

gaurav@ubuntu:~$ scp -rv dlink [email protected]:team Käivitab: programm /usr/bin/ssh host 68.183.82.183, kasutaja juur, käsk scp -v -r -t meeskond OpenSSH_7.6p1 Ubuntu-4ubuntu0. 3, OpenSSL 1.0.2n 7. detsember 2017 debug1: konfiguratsiooniandmete lugemine /home/trinity/.ssh/config debug1: konfiguratsiooniandmete lugemine /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config rida 19: *debug1 valikute rakendamine : Ühenduse loomine 68.183.82.183 [68.183.82.183] pordiga 22. silumine1: ühendus loodud. debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK silumine1: fd 1 clearing O_NONBLOCK Edastatud: 65 saadetud 4 tes 07 s. 6tes. sekundis: saadetud 100693.7, vastu võetud 53.7 debug1: Väljumise olek 0 gaurav@ubuntu:~$ 

Ülaltoodud väljundist näeme, et ülekandeks kuluv aeg on 74,6 sekundit. Proovime sama faili üle kanda suvandi -C abil ja jälgime erinevust.

Ülekanne valikuga -C:

gaurav@ubuntu:~$ scp -Crv dlink [email protected]:team Käivitab: programm /usr/bin/ssh host 68.183.82.183, kasutaja juur, käsk scp -v -r -t meeskond OpenSSH_7.6p1 Ubuntu-4ubuntu. 3, OpenSSL 1.0.2n 7. detsember 2017 debug1: konfiguratsiooniandmete lugemine /home/trinity/.ssh/config debug1: konfiguratsiooniandmete lugemine /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config rida 19: *debug1 valikute rakendamine : Ühenduse loomine 68.183.82.183 [68.183.82.183] pordiga 22. silumine1: ühendus loodud. . . webupload.img 100% 1834KB 98,7KB/s 00:18 Faili saatmisrežiimid: C0664 1877552 router.img Valamu: C0664 1877552 ruuter.img ruuter.img 100% 1834KB/s 100.:061 failirežiimid Sink:0618 3754103 DSL-2750U-Release-IN-T-01.00.07.zip Valamu: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip DSL-2750U-Release-0.7.pzi-0T 100% 3666KB 218.5KB/s 00:16 Sink: E silumine1: kliendi_sisendi_kanali_nõue: kanal 0 rtüüp väljumisoleku vastus 0 silumine1: kanal 0: tasuta: kliendiseanss, n-kanalid 1 silumine1: fd OBLOCK_NOCK1 tühjendamine OBLOCKNb_NOCK1 Edastatud: saadetud 7518864, vastu võetud 3828 baiti, 51,0 sekundiga Baiti sekundis: saadetud 100245,4, vastu võetud 51,0 silumine1: Väljumise olek 0 silumine1: tihendage väljuvad andmed: toorandmed 7511925, tihendatud 7513136, toorandmed 999, koefitsient 0,68 gaurav@ubuntu:~$

Siin on lihtne jälgida, et kasutades -C valik koos scp käsk on võimaldanud meil faili võrgu kaudu tihendada, mis on osutunud ajasäästlikuks valikuks.

Kasutades failiedastuseks teist ssh-porti

Kasutades scp käsk vaikeport, mis juurutatakse, on sadam 22. Kasutajal on vabadus seda pordi valikut kohandada. Saate kasutada -P (suurtähtede P valik) koos scp käsk teie valitud pordi kasutamiseks.

Üldine süntaks:

cp -P [uus_pordi_number] [faili_nimi/kataloogi_nimi] kaugkasutaja@host:[sihtkaust]

Näide:

scp -P 4248 dlink [email protected]:tiim

Ülaltoodud käsu abil edastatakse fail kaugserverisse. Kuid seekord kasutatakse sadamat port 4248 vaikeväärtuse asemel sadam 22.

Järeldus

Pärast selle õpetuse läbimist oleme õppinud tundma selle dünaamilist olemust scp käsk failide ülekandmiseks või kopeerimiseks ühest süsteemist teise. Seda suvandit saab kasutada ka failide või kataloogide allalaadimiseks kaugserverist. Seega võime järeldada, et scp käsk osutub väga kasulikuks failiedastuseks, kui peate korraga käsitsema rohkem kui ühte süsteemi ja kaugservereid.