12 scp command examples securely transfer files linux
Ta vadnica pojasnjuje protokol za varno kopiranje ali ukaz SCP, ki se uporablja za varno kopiranje datotek v Linuxu in Unixu s sintakso in primeri:
V tem članku bomo obravnavali ukaz SCP (Secure Copy Protocol), ki se uporablja za prenos datotek. Kaj je to in kako deluje, bomo videli s pomočjo nekaj primerov. Najprej poskusimo razumeti, kaj je ukaz SCP.
Kaj se boste naučili:
Kaj je ukaz SCP?
SCP (Secure Copy Protocol) je omrežni protokol, ki se uporablja za varen prenos datotek med gostitelji v računalniškem omrežju. S pomočjo tega pripomočka za ukazno vrstico v sistemih, podobnih sistemom Linux in Unix, lahko prenesete datoteke z lokalnega gostitelja na oddaljenega gostitelja ali z oddaljenega gostitelja na lokalni sistem ali med dvema oddaljenima gostiteljema.
(slika vir )
SCP zagotavlja verodostojnost, šifriranje in zaupnost podatkov z uporabo mehanizma SSH (Secure Shell) za prenos datotek. Podatki v tranzitu so torej zaščiteni pred napadi vohljanja. Stranke lahko s tem protokolom naložijo in prenesejo datoteke in imenike na strežnik in s strežnika. Za preverjanje pristnosti potrebuje geslo ali ključe. Privzeta vrata za SCP so vrata TCP 22.
Prednost protokola SCP je, da vam za prenos datotek ni treba zagnati seje FTP ali se izrecno prijaviti v oddaljene gostitelje.
Sintaksa za protokol SCP
# 1) Za kopiranje datoteke z lokalnega na oddaljeni gostitelj
scp (options) SourceFileName UserName@TargetHost:TargetPath
To je zelo osnovna sintaksa ukaza SCP, ki bo s pomočjo uporabniškega računa prekopirala izvorno datoteko s trenutnega gostitelja na ciljno pot na ciljnem gostitelju. Običajno je precej podoben ukazu copy cp.
# 2) Za kopiranje z oddaljenega gostitelja na lokalnega
Za kopiranje datoteke:
scp (options) UserName@SourceHost:SourceFilePath TargetFileName
Ali, preprosto prenesite datoteko:
scp (options) UserName@SourceHost:SourceFilePath
Za kopiranje mape (rekurzivno):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Če oddaljeni gostitelj uporablja vrata, ki niso privzeta vrata 22, je treba v ukazu z možnostjo -P izrecno navesti številko vrat.
# 3) Kopiranje iz enega oddaljenega računalnika v drugega oddaljenega računalnika
scp (options) UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
Ko kopirate datoteke iz enega oddaljenega računalnika v drugega, promet ne mine mimo vašega računalnika. Ta operacija poteka neposredno med obema oddaljenima strežnikoma.
# 4) Kopiranje več datotek
Za kopiranje več datotek iz localhosta na oddaljeni gostitelj:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Za kopiranje več datotek z oddaljenega gostitelja v trenutni imenik localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Možnosti, uporabljene z ukazom SCP
Spodaj so navedene najpogosteje uporabljene možnosti z ukazom SCP:
- -C : C, tukaj pomeni omogočiti stiskanje. Z uporabo te možnosti bo omogočeno stiskanje in povečana hitrost prenosa med kopiranjem. Samodejno bo omogočil stiskanje pri viru in dekompresijo pri cilju.
- -c: c pomeni šifra. SCP privzeto uporablja 'AES-128' za šifriranje datotek. Če želite spremeniti šifro, morate uporabiti možnost -c, ki ji sledi ime šifre.
- -jaz : i pomeni identifikacijsko datoteko ali zasebni ključ. Na splošno se v okoljih Linux izbere overjanje na podlagi ključa. Tako lahko posebej omenimo datoteko z zasebnim ključem ali datoteko identitete z možnostjo -i.
- -l: l pomeni omejitev pasovne širine. S to možnostjo lahko nastavite največjo pasovno širino, ki jo želite uporabiti. Je v Kbit / s.
- -B: Ta možnost se uporablja za uporabo paketnega načina med kopiranjem.
- -F: Ta možnost se uporablja za uporabo druge datoteke ssh_config med kopiranjem v primerih, ko morate za povezavo s sistemi Linux uporabiti različna omrežja. V takih scenarijih morate dodeliti nadomestno konfiguracijsko datoteko SSH na uporabnika.
- -P: Če se številka vrat ssh ciljnega gostitelja razlikuje od privzete številke vrat 22, morate z uporabo možnosti -P posebej omeniti številko vrat.
- -p: Ta možnost se uporablja za ohranjanje dovoljenj datotek, sprememb in časa dostopa med kopiranjem.
- -q: Ta možnost bo ukaz SCP izvedla v tihem načinu. Izklopil bo merilnik napredka in ne bo prikazal napredka prenosa, opozoril ali diagnostičnih sporočil ssh na zaslonu terminala Linux.
- -r: -r se uporablja za rekurzivno kopiranje datotek in imenikov. Na primer, če želite kopirati celotno mapo (skupaj z vsebino v mapi) na ciljni računalnik, morate uporabiti možnost -r.
- -S: Ta možnost se uporablja za določanje programa za povezavo.
- -v: v pomeni glagolen. Ta možnost na zaslonu terminala prikazuje korak za korakom napredovanje izvajanja ukaza SCP. Zelo je koristno pri odpravljanju napak.
Primeri ukazov SCP
Dovolite nam, da s pomočjo primerov razumemo, kako uporabljati ukaz SCP:
Primer 1: za kopiranje z lokalnega na oddaljeni gostitelj
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
V zgornjem primeru je
kako narediti navzkrižno brskalnik
- -v možnost se uporablja kot podrobna možnost za ogled podrobnosti o izhodu tega ukaza na terminalu Linux. Z uporabo podrobnega izhoda lahko natančno spoznate, kaj se dogaja v ozadju, ko se ukaz izvrši. To pomaga pri odpravljanju napak.
- Lockfile.txt je ime izvorne datoteke, ki jo želimo prenesti na oddaljeni gostitelj.
- Kaushapx je primer uporabniškega imena. Z uporabo tega uporabniškega računa bomo datoteko varno kopirali na oddaljeni gostitelj.
- 10.172.80.167 je primer IP ciljnega oddaljenega gostitelja, na katerega želimo prenesti datoteko.
- / home / cpf657 / kaushapx / test1 je primer absolutne poti, kamor želimo prenesti to preneseno datoteko.
Spodnji posnetki zaslona prikazujejo izvajanje zgornjega ukaza SCP.
2. primer: za kopiranje z oddaljenega gostitelja v lokalni sistem:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
kako odpreti torrent datoteko windows 10
3. primer: za kopiranje več datotek na oddaljeni gostitelj:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Primer 4: za kopiranje datotek v dveh oddaljenih sistemih:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Primer 5: za rekurzivno kopiranje datotek in imenikov (z možnostjo -r):
Recimo, da imam v localhostu mapo z imenom 'test', ki vsebuje štiri datoteke. Želim kopirati celotno mapo v drugo mapo z imenom 'test1', ki je prisotna na oddaljenem gostitelju.
Uporabil bom naslednji ukaz:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Primer 6: za povečanje hitrosti kopiranja z omogočanjem stiskanja (z možnostjo -C):
Prenosimo isto mapo kot v primeru 5, vendar tokrat z omogočanjem stiskanja:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
7. primer: za omejevanje pasovne širine med kopiranjem (z možnostjo -l):
Nadaljujmo z isto možnostjo. Tokrat bomo uporabili možnost -l in določili pasovno širino, recimo 500. Ne pozabite, da je pasovna širina, ki smo jo postavili tukaj, v Kbit / s.
Primer 8: za določanje različnih vrat ssh med kopiranjem (z možnostjo -P):
Če oddaljeni strežnik, na katerem kopirate datoteko, uporablja druga vrata, ki niso privzeta vrata 22, morate v ukazu SCP z možnostjo -P izrecno povedati številko vrat. Na primer, če so vrata ssh oddaljenega strežnika 2022, boste v ukazu SCP omenili -P 2022.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Primer 9: za ohranjanje dovoljenj datotek, sprememb in časa dostopa med kopiranjem (z možnostjo -p):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Primer 10: za kopiranje datotek v tihem načinu (z možnostjo -q):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Primer 11: za prepoznavanje datotek v SCP med kopiranjem (z možnostjo -i):
V zgornjem primeru je my_private_key.pem datoteka z identiteto ali datoteka z zasebnim ključem.
Primer 12: za uporabo druge šifre med kopiranjem prek SCP (z možnostjo -c):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Pogosta vprašanja o ukazu SCP
V tem poglavju bomo zajeli nekaj pogostih vprašanj o ukazu SCP.
V # 1) Kaj je ukaz SCP?
Odgovor: SCP pomeni protokol za varno kopiranje. Z ukazom SCP lahko varno kopirate datoteke med gostitelji v omrežju. Za prenos podatkov uporablja mehanizme SSH. Uporablja overjanje s ključem ali geslom.
V # 2) Kaj SCP počne v Linuxu?
Odgovor: V Linuxu ukaz SCP varno prenaša datoteke med strežniki. To je lahko kopija datoteke med oddaljenim strežnikom in lokalnim gostiteljem ali med dvema oddaljenima strežnikoma. SCP je vnaprej nameščen ukaz v Linuxu in je znan po svoji preprostosti in varnosti.
V # 3) Kako v Linuxu ustvarimo SCP datoteke?
Odgovor: Datoteke SCP lahko kopirate po naslednji sintaksi ukaza:
scp (options) (username@)(source_host:)file1 (username@)(destination_host:)file2.
Z ukazom SCP je mogoče uporabiti veliko možnosti. Na primer, -C za stiskanje, -c za šifro, -P za vrata, -I za zasebni ključ, -l za limit, -r za rekurzivno kopijo itd.
V # 4) Kako zaščitimo datoteko?
Odgovor: Datoteko lahko zaščitite s pomočjo ukaza SCP, kot je omenjeno v 3. vprašanju.
V # 5) Ali SCP kopira ali premika?
Odgovor: Ukaz SCP kopira datoteke iz vira na cilj. Torej, po SCP bo datoteka prisotna na obeh gostiteljih.
V # 6) Ali lahko uporabite SCP za imenik?
Odgovor: Da, SCP lahko uporabimo za imenik. Za kopiranje celotnega imenika in njegove vsebine morate uporabiti možnost -r.
Spodaj je sintaksa ukaza SCP za kopiranje imenika z lokalnega gostitelja na oddaljeni gostitelj:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
V # 7) Kako uporabimo SCP za vse datoteke v imeniku?
Odgovor: Če želite uporabiti SCP za vse datoteke v imeniku, morate dodati * s potjo do imenika:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
Tako bodo vse datoteke v lokalnem imeniku kopirane v oddaljeni imenik.
V # 8) Ali lahko SCP uporabljamo v sistemu Windows?
Odgovor: Da, SCP lahko uporabljate v sistemu Windows. Vendar pa ni za Windows vnaprej naložen, za razliko od Linuxa in Maca, zato morate za Windows programsko opremo SCP namestiti ločeno.
Lahko prenesete Putty, ki vključuje SCP za Windows (programsko opremo, imenovano Putty SCP (PSCP), ali pa WinSCP (Windows Secure Copy). Odjemalec PSCP deluje neposredno iz ukaznega poziva sistema Windows. Obstaja tudi druga programska oprema za uporabo SCP v sistemu Windows .
V # 9) Kako uporabimo SCP za več datotek?
Odgovor: Za kopiranje več datotek iz localhosta na oddaljeni gostitelj s pomočjo SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Za kopiranje več datotek z oddaljenega gostitelja v trenutni imenik localhost z uporabo SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
V # 10) Kakšna je razlika med SCP in SFTP?
Odgovor: SCP je protokol za varno kopiranje. SFTP je protokol za varen prenos datotek. Oba uporabljata vrata TCP 22 in delujeta na mehanizmu SSH. Razlikujejo pa se po specifikacijah in funkcijah.
SCP prenaša samo podatke, medtem ko SFTP poleg prenosa datotek opravlja tudi funkcije dostopa do datotek in upravljanja datotek. S SFTP lahko izvajate operacije, kot je navajanje oddaljenih imenikov ali brisanje datotek. Toda SCP dovoljuje samo kopiranje datotek in imenikov med strežniki.
Hitrost prenosa datotek v SCP je hitrejša od SFTP, ker uporablja učinkovitejši algoritem za prenos datotek.
kako odpreti jar datoteke windows 10
V SFTP lahko nadaljujete prekinjen prenos datotek iz odjemalca ukazne vrstice. Toda SCP nima te funkcije.
SFTP ponuja komponento GUI, SCP pa je nima.
V # 11) Kaj je ukaz SCP v sistemu Windows za varno kopiranje datoteke?
Odgovor: Odprite ukazni poziv sistema Windows in podajte spodnji ukaz za varno kopiranje datoteke iz lokalnega računalnika z operacijskim sistemom Windows v strežnik (lahko je strežnik Linux):
pscp filepath userid @ target_server_ip: target_path
Primer: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Za izvajanje tega ukaza bi moral imeti nameščen PSCP.
V # 12) Ali je SCP varen?
Odgovor: Da, SCP je varen. Za prenos podatkov uporablja mehanizem SSH (Secure Shell Protocol), zato ima koristi od varnosti, ki jo ponuja SSH. Podatki v tranzitu so zaupni in zagotovljena je tudi njihova verodostojnost.
Zaključek
V tej vadnici smo videli, kako uporabiti ukaz SCP za varno kopiranje datotek med dvema oddaljenima gostiteljema ali med lokalnim gostiteljem in oddaljenim gostiteljem, ne da bi sprožili sejo FTP ali se izrecno prijavili v oddaljene računalnike.
SCP uporablja mehanizem SSH za kopiranje podatkov, zato so podatki v tranzitu šifrirani in zaščiteni. Za preverjanje pristnosti potrebuje geslo ali ključ. V nasprotju z RCP (protokol za oddaljeno kopiranje) ali FTP (protokol za prenos datotek) SCP šifrira tako datoteko kot gesla, ki sta si jih izmenjala sistema, da bi zaščitila vsako vohljanje v omrežju.
Priporočeno branje
- Izreži ukaz v Unixu s primeri
- Poišči ukaz v Unixu: Poiščite datoteke s pomočjo datoteke Unix Find (primeri)
- Sintaksa ukaza Unix Cat, možnosti s primeri
- Ls ukaz v Unixu s primeri
- Argumenti ukazne vrstice v skriptu lupine Unix s primerom
- Ukaz Grep v Unixu s preprostimi primeri
- Manipulacija z datotekami v Unixu: Pregled datotečnega sistema Unix
- Ukaz za razvrščanje Unix s sintakso, možnostmi in primeri