Sigurno kopiranje

S Vikipedije, slobodne enciklopedije

Sigurno kopiranje (en. Secure copy protocol ili SCP) označava sigurni prenos datoteka između lokalnih servera i udaljenog servera ili između dva udaljena servera. Zasniva se na SSH protokolu.

Termin SCP može da se odnosi na jednu od dve povezane stvari, na SCP protokol ili na SCP program.

SCP protokol[uredi | uredi izvor]

SCP protokol je mrežni protokol, zasnovan na BSD (en. Berkeley Software Distribution) RCP (en. remote copy) protokolu,[1] koji podržava transfer datoteka među serverima na mreži. SCP koristi SSH za razmenu podataka i koristi isti mehanizam potvrđivanja, tako osigurujući autentičnost i poverljivost podataka u „transportu“. Klijent šalje (en. upload) datoteke na server, opciono uključujući njihove osnovne atribute (dozvole, vremenske oznake). Klijent takođe može sa servera da preuzme (en. download) datoteke ili fascikle (direktorijume). SCP podrazumevano radi preko TCP porta. Kao i RCP (en. remote copy), nema RFC (en. Request for Comments) koji definiše protokol.

Kako radi[uredi | uredi izvor]

Normalno klijent inicira SSH konekciju do udaljenog domaćina i zahteva da SCP proces bude pokrenut na udaljenom serveru. Udaljeni SCP proces može da operiše u jednom od dva moda: izvorni mod, koji čita fajlove (obično sa diska) i vraća ih nazad klijentu, ili ponirući mod, koji prihvata fajlove od klijenta i piše ih (obično na disk) na udaljeni host. Za većinu SCP klijenata, izvorni mod se generalno pokreće sa –f (eng. from) zastavicom (eng. flag), dok ponirući mod je pokrenut sa –t (eng. to)[2]. Ove zastavice se obično interno koriste i nisu dokumentovane izvan SCP izvornog koda.

Sa udaljenog na udaljeni[uredi | uredi izvor]

U sa udaljenog-na-udaljeni sigurno kopiranje, SCP pokrece SSH konekciju da bi obezbedio izvornog hosta i zahtevao da on, za uzvrat, otvori SCP konekciju sa određenom destinacijom. (Udaljeni sa udaljenog mod ne radi tako što otvara dve SCP konekcije i koristi originalnog klijenta kao posrednog.) Važno je primetiti da se SCP ne može koristiti za udaljeno kopiranje od izvora ka destinaciji kada operiše sa šiframa ili kada se koristi interaktivni mod potvrđivanja, jer bi to otkrilo izvoru podatke servera na koji se šalje. Ipak je to moguće sa osnovnim ključem ili GSSAPI metodom koje ne zahtevaju korisnički ulaz.[2]

Problemi u koriscenu interaktivnih šel (shell) profila[uredi | uredi izvor]

SCP ne očekuje tekstualnu komunikaciju sa SSH logovanjem. Tekst se prenosi zbog SSH profila (npr. echo "Welcome" u .basxrc fajlu) je prikazan kao poruka o grešci i NULL linija (echo “”) izaziva zaključavanje SCP-a dok čeka da se poruka o grešci završi.[2]

SCP Program[uredi | uredi izvor]

SCP program je softverski alat za implementaciju SCP protokola kao demon (en. Daemon) ili klijent. Taj program je za izvršavanje bezbednog kopiranja. SCP program na serveru je tipično isti kao i program na klijentu.

Verovatno najkoristeniji SCP program je komadna linija scp program, koji je podržan u većini SSH implementacija. scp program sigurnosno anologan kao i rcp komanda. scp program mora da bude deo svih SSH server koji žele da pružaju SCP servis, kao scp funkcije i kao SCP server.

Neke SSH implementacije podržavaju scp2 program koji koristi SFTP protokol umesto SCP-a, ali pružaju komandnu liniju istog interfejsa kao scp. scp je tipično simbolički link do scp2.

Tipično sintaksa scp je slična sintaksi cp</tp>.

Kopiranje fajla na host:

scp SourceFile user@host:directory/TargetFile

Kopiranje fajla sa hosta:

scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder

Kopiranje fajla sa hosta (kopiranje fajla iz izvornog foldera, brisanje sa njega i kopiranje u ciljni folder)

scp -u -r user@host:directory/SourceFolder TargetFolder

Primetite ako udaljeni host koristi port drugačiji od porta 22, može biti specifikovan u komandi. Na primer, kopiranje fajla sa hosta

scp -P 2222 user@host:directory/SourceFile TargetFile

Kako SCP protokol implementira samo prenos fajlova, GUI SCP klijenti su retki, i za implementaciju traže dodatne funkcionalnosti (najmanje listing foldera). Na primer WinSCP je podrazumevano SFTP protokol. Čak i kada radi u SCP modu, klijenti slični WinSCP-u tipično nisu slični SCP klijenti, većina njih koristi ostale načine da implementira dadatnu funkcionalnost (slično ls komandi). To zauzvrat donosi problem platformske zavisnosti.

Sveobuhvatni alati za upravljanje datotekama preko SSH su SFTP klijenti.

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ „scp - FreeBSD (history section)”. Pristupljeno 25. 6. 2012. 
  2. ^ a b v Pechanec, Jan. „How the SCP protocol works”. Jan Pechanec's weblog. Oracle. Arhivirano iz originala 12. 08. 2011. g. Pristupljeno 27. 7. 2011.