Kā lietot SCP komandu operētājsistēmā Linux

Vienkārša apmācība, kas palīdzēs pārsūtīt failus uz attālo sistēmu no Linux sistēmas, izmantojot komandu scp.

SCP nozīmē “Droša kopija”. scp ir Linux piedāvātā komandrindas utilīta, kas ļauj pārsūtīt failus un direktorijus no vienas mašīnas uz otru, izmantojot nedrošu tīklu.

Ja vēlaties kopēt failus no vienas sistēmas uz citu, tad scp var būt ļoti laba iespēja droši pārsūtīt failus un direktorijus. Kad abas saziņas iekārtas ir savienotas vienā tīklā, izmantojot scp kļūst iespējams.

Jūs varat ļoti paļauties uz scp komanda konfidencialitātei un integritātei, jo gan fails, kas tiek pārsūtīts, gan pārsūtīšanai izmantotā parole ir šifrēti. Nekāda sensitīva informācija netiks atklāta pat tad, ja kāds mēģinās izlūkot trafiku šīs pārsūtīšanas laikā.

Šajā apmācībā mēs redzēsim dažādus piemērus scp komandu. Mēs arī apskatīsim dažas no bieži izmantotajām opcijām ar scp komandu.

Darba sākšana ar komandu scp

Izmantojot scp komandu varat pārsūtīt failus/direktorijus:

  • No vietējās mašīnas uz attālo mašīnu.
  • Starp divām attālinātām mašīnām.
  • No attālās mašīnas uz vietējo mašīnu.

Vispārējā sintakse:

scp [Opcija] [avota_faila_nosaukums] [lietotājs@galamērķa_resursdators]:mērķa_mape

Ļaujiet mums saprast šīs komandas pamata atribūtus pa vienam.

  • [avota_faila_nosaukums] Šis ir avota fails, kuru vēlaties kopēt.
  • [lietotājs@galamērķis_saimnieks] Šis ir tās attālās sistēmas lietotājvārds, kurā vēlaties kopēt failu. Attālās mašīnas IP adrese tiek izmantota arī šajā atribūtā pēc "@‘ simbols.
  • [galamērķa_mape] Šis ir direktorijs, kurā vēlaties saglabāt kopēto failu.

Piezīme: Resnā zarna (:) simbols tiek izmantots sintaksē, jo tas atšķir vietējo un attālo atrašanās vietu. Mēs izmantojam kolu (:) ar attālo sistēmu, lai norādītu direktoriju, kurā faili jākopē. Ja mēs nenorādīsim mērķa direktoriju, faili tiks kopēti uz attālās sistēmas lietotāja mājas direktoriju.

Opcijas, kas izmantotas ar scp

Dažas no populārākajām opcijām, kas tiek izmantotas kopā ar scp komandas ir uzskaitītas zemāk.

OpcijaApraksts
-Cļauj pārsūtīt faila saspiešanu
-vdodiet daudzvārdīgo izvadi
-rrekursīvi kopēt failus un direktorijus
-lppsaglabāt failu atļaujas, režīmus un piekļuves laikus
-Pmainiet noklusējuma portu, ko izmanto scp komandu

Šo opciju piemērus redzēsim tālāk apmācībā.

Faila kopēšana no lokālās uz attālo sistēmu

scp ļauj pārsūtīt failus no vietējās sistēmas uz attālo sistēmu, izmantojot šādu sintaksi. Tas ļauj pārsūtīt vai augšupielādēt failus uz attālināti novietotu serveri.

Vispārējā sintakse:

scp [faila_nosaukums] remote_user@host:[galamērķa_mape]

Piemērs:

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

Šajā piemērā mēs kopējam failu “apache-tomcat-9.0.8.tar.gz” no vietējās sistēmas uz attālo sistēmu, kuras IP adrese ir “143.110.178.221”.

Attālajā sistēmā fails tagad tiks kopēts direktorijā ar nosaukumu “gaurav”.

Izvade:

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

Pārbaudīsim faila izvadi attālajā sistēmā.

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

Tādējādi fails tiek veiksmīgi kopēts uz attālo sistēmu, izmantojot scp komandu.

Vairāku failu kopēšana uz attālo sistēmu

Iepriekšējā piemērā mēs iemācījāmies pārsūtīt failu uz attālo sistēmu, izmantojot scp komandu. Tagad mēs redzēsim metodi, kā pārsūtīt vairākus failus no vietējās sistēmas uz attālo sistēmu, izmantojot šo komandu.

Vispārējā sintakse:

scp [fails 1] [fails 2] [fails n] remote_username@remote_host:[konkrēts direktorijs]

Ļaujiet mums saprast šo vienkāršo procesu ar piemēru.

Piemērs:

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

Šeit vairāki faili ir minēti komandā, kas jākopē attālajā sistēmā.

Izvade:

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

Attālajā sistēmā:

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

Visi trīs faili tagad ir kopēti attālajā sistēmā.

Direktorija kopēšana uz attālo sistēmu

Tu vari izmantot scp komandu, lai kopētu direktoriju no vietējās sistēmas uz attālo sistēmu. Process ir līdzīgs faila kopēšanas procesam. Lai kopētu arī direktorija saturu, varat izmantot -r opcija ar scp komandu.

The -r opcija tiek izmantota, lai rekursīvi kopētu direktoriju. Tas nozīmē, ka tiks kopētas arī visas direktorijā esošās apakšmapes un faili.

Vispārējā sintakse:

scp -r [direktorija ceļš] attālais_lietotājvārds@attālā_resursdators:[mērķa_direktorijs]

Piemērs:

scp -r PycharmProjects [email protected]:gaurav

Izvade:

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

Izmantojot -r opcija ar scp komanda kopē visas direktorijā esošās apakšmapes un failus no vietējās mašīnas uz attālo sistēmu.

Parāda detalizētu informāciju par scp procesu

Jūs varat izmantot -v (mazais burts v) opciju, lai parādītu informāciju par failiem, kas tiek kopēti attālajā vai vietējā sistēmā. Šo izvades veidu sauc arī par detalizētu izvadi.

Kad tiek izmantota šī opcija, ekrānā tiek parādīta visa faila atkļūdošanas informācija.

Vispārējā sintakse:

scp -v [faila_nosaukums] user_name@user_host:

Piemērs:

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

Izvade:

gaurav@ubuntu:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team Izpilda: programma /usr/bin/ssh host 159.89.170.11, lietotāja sakne, komanda scp -v -t komanda OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n, 2017. gada 7. decembris debug1: konfigurācijas datu lasīšana /home/gaurav/.ssh/config debug1: konfigurācijas datu lasīšana /etc/ssh/ssh_config debug1: /etc/sfsh/ 19. rindiņa: * debug1 opciju lietošana: tiek izveidots savienojums ar 159.89.170.11 [159.89.170.11] 22. portu. atkļūdošana1: savienojums izveidots. debug1: key_load_public: šāda faila vai direktorija nav debug1: identitātes fails /home/gaurav/.ssh/id_rsa tips -1 apache-tomcat-9.0.8.tar.gz 100% 9589KB 99,8KB/s 01:36 debug1: client_req_channel kanāls 0 rtype exit-status reply 0 debug1: channel 0: free: client-sesion, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK Pārsūtīts: nosūtīts 9826736, saņemts 4016 baiti sekundē, nosūtīts.: s 101133.9, saņemta 41.3 atkļūdošana1: Izejas statuss 0 gaurav@ubuntu:~$ 

Šeit, izvadē, varat redzēt, ka faila atkļūdošanas informācija tiek parādīta jūsu terminālī, kad scp komanda tiek izmantota kopā ar -v opciju.

Failu pārsūtīšana starp diviem attāliem resursdatoriem

Linux ļauj izveidot savienojumu ar vairākiem attāliem saimniekiem. Varat pārsūtīt failus un direktorijus starp diviem tālvadības pults saimniekiem, izmantojot scp komandu.

Vispārējā sintakse:

scp attālais_lietotājs_1@host_1:/[faila_nosaukums] attālais_lietotājs_2@host_2:[mape_save]

Sintakse var šķist nedaudz plašāka, taču tā ir diezgan vienkārša. Šeit komandas pirmā daļa sniedz ievadi par attālo lietotāju, no kura fails ir jākopē. resnās zarnas (:) un / tiek izmantots, lai norādītu faila nosaukumu vai direktorija nosaukumu, kas jāpārsūta starp abām attālajām iekārtām.

Otrajā daļā ir sniegta informācija par mērķa attālo sistēmu, kurā fails tiks kopēts.

Piemērs:

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

Šeit mēs rekursīvi kopēsim direktoriju ar nosaukumu “gaurav” no vietējās sistēmas uz attālo sistēmu. Fails tiks kopēts uz attālās sistēmas mapi “team”.

Izvade:

gaurav@ubuntu:~$ scp -r [email protected]:/gaurav [email protected]:/team [email protected] parole: 1.py 100% 134 261.3KB/s mainīgie 0:0 100% 377 949.2KB/s 00:00 abc.txt 100% 0 0.0KB/s 00:00 ath.html 100% 199KB 41.8MB/s 00:00 gaurav@ubuntu:~$

Šeit mēs izmantojām scp komandu lokālajā sistēmā, lai pārsūtītu direktoriju ar nosaukumu “gaurav” no viena attālā servera uz citu.

Pārsūtiet failus no attālās sistēmas uz vietējo sistēmu

Varat viegli pārsūtīt failus vai direktorijus no attālās sistēmas uz vietējo sistēmu, izmantojot scp komandu. Vienkāršāk sakot, varat lejupielādēt vairākus failus vai direktorijus no attālā servera savā vietējā sistēmā, izmantojot scp komandu.

Vispārējā sintakse:

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

Izvade:

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

Šeit es esmu lejupielādējis (nokopējis) failu no attālā servera savā mājas direktorijā. Tāpēc es izmantoju punktu (.), lai norādītu komandā kopēt failu manā mājas direktorijā.

Izvades paraugs:

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

Šeit fails tagad tiek kopēts uz manu mājas direktoriju no attālā servera.

Tādā pašā veidā varat lejupielādēt vairākus failus vai direktorijus no attālā servera, izmantojot scp komandu ar atbilstošām opcijām.

Failu saspiešana, lai veiktu ātrāku pārsūtīšanu

Dažreiz lielu failu pārsūtīšana var būt laikietilpīga. Šo problēmu var novērst, izmantojot scp komandu ar -C (lielie burti C) opciju.

Izmantojot -C opciju, saspiež lielāka izmēra failus, kas atvieglo ātrāku pārsūtīšanu un tādējādi ietaupa laiku.

Viens interesants fakts par šo opciju ir tas, ka fails galamērķa sistēmā tiek kopēts ar tā sākotnējo izmēru, bet pārsūtīšanas procesa laikā tas tiek saspiests, lai nodrošinātu ātrāku pārsūtīšanu. Tādējādi saspiešana tiek veikta tikai tīklā.

Vispārējā sintakse:

scp -C [faila_nosaukums] lietotājvārds@lietotāja_resursdators:[mērķa_mape]

Apskatīsim salīdzinošu piemēru, lai saprastu atšķirību.

Pārsūtīšana bez opcijas -C:

gaurav@ubuntu:~$ scp -rv dlink [email protected]:team Izpilda: programma /usr/bin/ssh host 68.183.82.183, lietotāja sakne, komanda scp -v -r -t komanda OpenSSH_7.6p1 Ubuntu-4ubuntu0. 3, OpenSSL 1.0.2n, 2017. gada 7. decembris debug1: konfigurācijas datu lasīšana /home/trinity/.ssh/config debug1: konfigurācijas datu lasīšana /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config 19. rinda: *debug1 opciju lietošana : tiek izveidots savienojums ar 68.183.82.183 [68.183.82.183] portu 22. atkļūdošana1: savienojums izveidots. debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: channel 0: free: client-sesion, nchannels 1 debug1: fd 0 clearing O_NONBLOCK atkļūdošana1: fd 1 clearing O_NONBLOCK Saņemts: sekunde 047,1 65 nosūtīja 047s. sekundē: nosūtīts 100693.7, saņemts 53.7 debug1: izejas statuss 0 gaurav@ubuntu:~$ 

No iepriekš minētā izvada redzams, ka pārsūtīšanai nepieciešamais laiks ir 74,6 sekundes. Mēs mēģināsim pārsūtīt to pašu failu, izmantojot opciju -C, un novērosim atšķirību.

Pārsūtīt ar opciju -C:

gaurav@ubuntu:~$ scp -Crv dlink [email protected]:team Izpilda: programma /usr/bin/ssh host 68.183.82.183, lietotāja sakne, komanda scp -v -r -t komanda OpenSSH_7.6p1 Ubuntu-4ubuntu. 3, OpenSSL 1.0.2n, 2017. gada 7. decembris debug1: konfigurācijas datu lasīšana /home/trinity/.ssh/config debug1: konfigurācijas datu lasīšana /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config 19. rinda: *debug1 opciju lietošana : tiek izveidots savienojums ar 68.183.82.183 [68.183.82.183] portu 22. atkļūdošana1: savienojums izveidots. . . webupload.img 100% 1834KB 98,7KB/s 00:18 Sūtīšanas faila režīmi: C0664 1877552 router.img Izlietne: C0664 1877552 router.img router.img 100% 1834KB/s Sūtīšanas režīmi Sink 3754103 DSL-2750U-Release-IN-T-01.00.07.zip Izlietne: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip DSL-2750U-Release-IN-T-01.00.07. 100% 3666KB 218.5KB/s 00:16 Izlietne: E atkļūdošana1: klienta_ievades_kanāla_pieprasījums: kanāls 0 rtips izejas statusa atbilde 0 atkļūdošana1: kanāls 0: bezmaksas: klienta sesija, nchannels 1 atkļūdošana1: fd_NOCKing 0 OBLOCKdN1 notīrīšana Pārsūtīts: nosūtīts 7518864, saņemts 3828 baiti, 51,0 sekundēs. baiti sekundē: nosūtīti 100245,4, saņemti 51,0 atkļūdošana1: izejas statuss 0 atkļūdošana1: saspiest izejošos: neapstrādāti dati 7511925, saspiesti 7513136. izejmateriāli 7513136, decom4: saspiests1, faktors 6: 999, koeficients 0,68 gaurav@ubuntu:~$

Šeit mēs varam viegli novērot, ka, izmantojot -C opcija ar scp komanda ir ļāvusi mums saspiest failu tīklā, tādējādi izrādoties laika taupīšanas iespēja.

Izmantojot citu ssh portu failu pārsūtīšanai

Lietojot scp komanda noklusējuma ports, kas tiek izvietots, ir 22. osta. Lietotājs var brīvi pielāgot šo porta izvēli. Jūs varat izmantot -P (iespēja ar lielajiem burtiem P) ar scp komandu, lai izmantotu jūsu izvēlēto portu.

Vispārējā sintakse:

cp -P [jaunais_porta_numurs] [faila_nosaukums/direktorija_nosaukums] attālais_lietotājs@host:[galamērķa_mape]

Piemērs:

scp -P 4248 dlink [email protected]:team

Izmantojot iepriekš minēto komandu, fails tiks pārsūtīts uz attālo serveri. Taču šoreiz izmantotā osta būs ports 4248 noklusējuma vietā 22. osta.

Secinājums

Pēc šīs apmācības mēs uzzinājām par dinamisko raksturu scp komanda, ko izmanto, lai pārsūtītu vai kopētu failus no vienas sistēmas uz citu. Šo opciju var izmantot arī, lai lejupielādētu failus vai direktorijus no attālā servera. Tādējādi mēs varam secināt, ka scp komanda ir ļoti noderīga failu pārsūtīšanai, ja vienlaikus ir jāapstrādā vairāk nekā viena sistēma, kā arī attālie serveri.