16 Уобичајених СЦП команди са примерима за копирање датотека и фасцикли

SCP je blisko povezan sa SSH protokolom i, zapravo, potiče iz iste zamisli.

Kao proširenje SSH protokola, SCP obezbeđuje da podaci budu poverljivi i nepromenjeni tokom prenosa.

Prvo ćemo objasniti kako SCP funkcioniše, a zatim ćemo se upoznati sa SCP komandama.

Šta je SCP?

SCP je skraćenica od Secure Copy Protocol (Protokol za bezbedno kopiranje).

Predstavlja siguran i efikasan način kopiranja fajlova i direktorijuma između lokalnog i udaljenog računara, kao i između dva udaljena računara.

Naširoko se koristi za bezbedan prenos podataka preko mreže. SCP koristi SSH (Secure Shell) za uspostavljanje sigurne veze i šifrovanje podataka tokom prenosa.

Bez obzira da li trebate premestiti pojedinačni fajl ili ceo direktorijum, SCP nudi pouzdano rešenje za daljinski prenos fajlova.

Kako SCP funkcioniše?

SCP je izgrađen na vrhu SSH protokola, koji je kriptografski mrežni protokol za bezbedno udaljeno prijavljivanje i izvršavanje komandi. Koristi iste sigurnosne mehanizme kao SSH, uključujući šifrovanje i autentifikaciju, kako bi zaštitio podatke tokom prenosa.

Kada koristi SCP, korisnik pokreće naredbu za kopiranje na svom lokalnom računaru, specificirajući izvorni fajl i odredišnu lokaciju na udaljenom računaru. SCP uspostavlja SSH vezu sa udaljenim sistemom, a zatim bezbedno kopira fajlove sa izvora na odredište.

Kada koristiti SCP?

SCP je posebno koristan u sledećim situacijama:

Pravljenje rezervnih kopija sa udaljenog servera

SCP vam omogućava da pravite rezervne kopije fajlova sa udaljenog servera na vaš lokalni računar ili obrnuto, obezbeđujući redundantnost podataka i oporavak u slučaju katastrofe.

Implementacija aplikacija

Takođe pojednostavljuje proces sigurnim kopiranjem potrebnih datoteka na svaki ciljni sistem prilikom postavljanja aplikacija na više servera.

Prenos velikih fajlova

SCP nudi pouzdanu i sigurnu alternativu za prenos velikih fajlova koji mogu biti preveliki za slanje kao prilog u mejlu.

Sigurna razmena fajlova

SCP osigurava da su podaci šifrovani tokom prenosa prilikom slanja osetljivih fajlova drugim ljudima.

Udaljena saradnja

SCP se može koristiti za bezbednu razmenu fajlova sa saradnicima ili članovima tima na različitim lokacijama.

Sintaksa SCP komande

Pre nego što počnemo da koristimo SCP komandu, hajde da razumemo osnovnu sintaksu.

Sintaksa SCP komande je sledeća:

scp [opcije] [izvor] [odredište]

Objašnjenje sintakse

Opcije

Ovo su opcionalne zastavice koje menjaju ponašanje SCP komande. Možete koristiti različite opcije za prilagođavanje procesa prenosa. Evo nekih uobičajenih opcija:

-r: Rekurzivno kopira direktorijume i njihov sadržaj.
-p: Čuva dozvole, vremenske oznake i režime originalnog fajla.
-P: Određuje broj porta za SSH vezu.
-i: Određuje fajl privatnog ključa za SSH autentifikaciju.
-C: Koristi kompresiju da bi ubrzao prenos podataka.
-l: Ograničava propusni opseg koji se koristi za prenos (u Kbit/s).
-v: Opširni režim – prikazuje poruke za otklanjanje grešaka tokom prenosa.
-o: Prosleđuje opciju SSH klijentu. Može se koristiti za onemogućavanje stroge provere ključa hosta.

Izvor

Izvor navodi fajl ili direktorijum koji želite da kopirate. Može biti lokalna ili udaljena putanja – zavisno od konteksta.

Odredište

Odredište određuje gde želite da kopirate izvor. Kao i izvor, može biti lokalna ili udaljena putanja.

Primeri komandi

#1. Kopirajte fajl sa lokalnog na udaljeni server

scp /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

/putanja/do/lokalnog/fajla.txt: Ovo je izvorni fajl koji želite da kopirate sa vaše lokalne mašine.

korisnik@udaljeniračunar: Zamenite korisnika imenom udaljenog korisnika, a udaljeniračunar imenom hosta ili IP adresom udaljenog servera.

/putanja/do/odredišta/: Ovo je odredišna putanja na udaljenom serveru gde će fajl biti kopiran.

Primer:

U mom slučaju, izabrao sam jedan udaljeni server za prenos fajla.

Korisničko ime za udaljeni računar – abhishekvarma

Adresa udaljenog računara – 192.168.29.70

scp /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Tokom povezivanja na udaljenu mašinu, traži lozinku. Ovde sam izabrao zip fajl za kopiranje.

Izlaz:

A izlaz će izgledati ovako ako nema greške u povezivanju sa udaljenim serverom:

sample.zip 100% 20KB 717.9KB/s 00:00

#2. Kopirajte fajl sa udaljenog na lokalni računar

scp korisnik@udaljeniračunar:/putanja/do/udaljenog/fajla.txt /putanja/do/lokalnog/odredišta/

Isto kao gore, zamenite adresu korisnika i udaljenog računara.

Primer:

scp [email protected]:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop

Izlaz:

Ovo je samo uzorak izlaza u mom slučaju. Vremenska oznaka varira u zavisnosti od brzine veze.

sample.zip 100% 20KB 51.2KB/s 00:00

#3. Rekurzivno kopirajte direktorijum

scp korisnik@udaljeniračunar:/putanja/do/udaljenog/fajla.txt /putanja/do/lokalnog/odredišta/

Ovde oznaka ‘-r’ govori SCP-u da rekurzivno kopira direktorijume (uključujući poddirektorijume i njihov sadržaj).

Primer:

scp -r /home/vboxuser/Desktop [email protected]:/Users/abhishekvarma/Desktop

Ovde sam pomenuo ceo direktorijum za kopiranje fajlova.

Izlaz:

sample.zip 100% 20KB 1.0MB/s 00:00
Screenshot from 2023-08-13 21-45-23.png 100% 27KB 1.5MB/s 00:00
.swp 100% 12KB 894.2KB/s 00:00
.help.swp 100% 12KB 780.4KB/s 00:00

#4. Kopiraj fajlove koji odgovaraju uzorku

scp /putanja/do/lokalnog/*.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

*.txt – Ovo je džoker šablon koji odgovara svim fajlovima sa ekstenzijom .txt u navedenom lokalnom direktorijumu. Izvorni i odredišni putevi su isti kao i ranije.

Primer:

scp /home/vboxuser/Desktop/locfolder/*.png [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

Evo, pokušao sam sa ekstenzijom .png.

Screenshot from 2023-08-13 21-45-23.png 100% 27KB 1.4MB/s 00:00
Screenshot from 2023-08-13 21-55-28.png 100% 24KB 1.7MB/s 00:00
Screenshot from 2023-08-13 22-04-03.png 100% 38KB 2.1MB/s 00:00

#5. Sačuvajte atribute fajla

scp -p /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ovde oznaka ‘-p’ čuva vremena modifikacije, vremena pristupa i režime izvornog fajla prilikom kopiranja.

Primer:

scp -p /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

sample.zip 100% 20KB 420.0KB/s 00:00

#6. Odredite drugačiji SSH port

scp -P 22 /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Oznaka ‘-P’ specificira drugačiji SSH port (22 u ovom slučaju) za SCP vezu. Možete koristiti bilo koji port koji želite.

Primer:

scp -P 22 /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

sample.zip 100% 20KB 1.2MB/s 00:00

#7. Kopirajte sa kompresijom

scp -C /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova oznaka ‘-C’ omogućava kompresiju tokom prenosa, potencijalno smanjujući veličinu prenetih podataka. Izvorna i odredišna adresa su iste kao što je prethodno objašnjeno.

Primer:

scp -C /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

sample.zip 100% 20KB 985.8KB/s 00:00

#8. Opširni izlaz za otklanjanje grešaka

scp -v /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova opcija ‘-v’ aktivira opširni izlaz, koji pruža detaljnije informacije tokom procesa prenosa.

Primer:

scp -v /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

Izlaz uzorka će izgledati ovako:

Executing: program /usr/bin/ssh host 192.168.29.70, user abhishekvarma, command scp -v -t /Users/abhishekvarma/Desktop OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa_sk type -1 debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1

#9. Kopirajte sa udaljenog na lokalno sa opširnim izlazom

scp -v korisnik@udaljeniračunar:/putanja/do/udaljenog/fajla.txt /putanja/do/lokalnog/odredišta/

Ista objašnjenja kao u prethodnom opširnom primeru, sa obrnutim ulogama lokalnih i udaljenih lokacija.

Primer:

scp -v [email protected]:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop

Izlaz:

Izlaz će izgledati ovako:

Executing: program /usr/bin/ssh host 192.168.29.70, user abhishekvarma, command scp -v -f /Users/abhishekvarma/Desktop/sample.zip OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.29.70 [192.168.29.70] port 22. debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa_sk type -1 debug1: identity file /root/.ssh/id_ecdsa_sk-cert type -1

#10. Kopirajte koristeći drugačiji SSH ključ

scp -i /putanja/do/privatnog_kljuca.pem /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova oznaka „-i /putanja/do/privatnog_kljuca.pem“ navodi drugačiji SSH privatni ključ za autentifikaciju.

Primer:

scp -i /putanja/do/privatnog_kljuca.pem /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

Ako imate privatni ključ, onda ga možete koristiti ili možete koristiti podrazumevani.

sample.zip 100% 20KB 1.1MB/s 00:00

#11. Kopirajte više fajlova na udaljeni server

scp fajl1.txt fajl2.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova komanda kopira fajl1.txt i fajl2.txt iz lokalnog direktorijuma na navedeno odredište na udaljenom serveru.

Primer:

scp /home/vboxuser/Desktop/image.png /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

image.png 100% 39KB 1.4MB/s 00:00
sample.zip 100% 20KB 1.5MB/s 00:00

#12. Kopirajte udaljeni fajl sa drugim imenom

scp korisnik@udaljeniračunar:/putanja/do/udaljenog/fajla.txt /putanja/do/lokalnog/novifajl.txt

Ova komanda kopira fajl.txt sa udaljenog servera u lokalni direktorijum, preimenujući ga u novifajl.txt u procesu.

Primer:

scp [email protected]:/Users/abhishekvarma/Desktop/sample.zip /home/vboxuser/Desktop/novifajl.zip

Izlaz:

Stare i nove ekstenzije fajla treba da budu iste dok izvršavate ovu komandu.

sample.zip 100% 20KB 28.7KB/s 00:00

#13. Kopiranje sa određenim ograničenjem propusnog opsega

scp -l 1000 /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova oznaka ‘-l’ određuje ograničenje propusnog opsega u Kbps (1000 Kbps u ovom slučaju) za prenos.

Primer:

scp -l 300 /home/vboxuser/Desktop/sample.zip [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

sample.zip 100% 20KB 31.3KB/s 00:00

#14. Kopiranje fajlova i očuvanje simboličkih veza

scp -rp /putanja/do/lokalnog/izvora/ korisnik@udaljeniračunar:/putanja/do/odredišta/

Oznaka ‘-p’ čuva atribute fajla, a -r zastavica rekurzivno kopira direktorijume. Ova komanda takođe čuva simboličke veze tokom kopiranja.

Primer:

scp -rp /home/vboxuser/Desktop/image.png [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

image.png 100% 39KB 1.8MB/s 00:00

#15. Opširno kopiranje fajlova sa kompresijom

scp -vC /putanja/do/lokalnog/fajla.txt korisnik@udaljeniračunar:/putanja/do/odredišta/

Ova komanda kombinuje opširni izlaz (-v) i kompresiju (-C) tokom prenosa fajla.

Primer:

scp -vC /home/vboxuser/Desktop/image.png [email protected]:/Users/abhishekvarma/Desktop

Izlaz:

Izlaz će izgledati ovako:

scp: debug1: