SCP (secure copy) - komanda leidžianti saugiau perkelti failus tarp skirtingų serverių. Perkėlimas vykdomas naudojant SSH protokolą, todėl suteikiama galimybė tai atlikti tik turint prisijungimus prie abiejų serverių.
Su scp galite atlikit failų ar katalgoų perkėlimą:
* iš savo kompiuterio į virtualų serverį;
* iš virtualaus serverio į kompiuterį;
* iš vieno virtualaus serverio į kitą.
Šioje pamokoje pateiksime informaciją, kaip naudojantis scp komandomis pateikiant praktinius pavyzdžius su dažniausiai naudojamomis komandomis.
0. Preliminarūs reikalavimai
- Linux serveris su įdiegta operacine sistema.
1. SCP komandos sintaksė
Visų pirma pradedame nuo standartinės scp komandos sintaksės. Pavyzdžiui:
scp parametras [naudotojas@]sunčiantis_serveris:]failas1 [naudotojas@]gaunantis_serveris:]failas2
*
parametras - tai gali būti SSH prievadas ar pan. Parametrai plačiau aprašyti žemiau;
* [naudotojas@]siunčiantis_serveris:]failas1 - failo šaltinis;
* [naudotojas@]gaunantis_serveris:]failas2 - paskirties vieta.
Jeigu failai keliami iš lokalaus tinklo (prisijungus prie serverio), užtenka nurodyti tik kelią, tačiau gavėjo informacija turi būti nurodyta pilna su naudotojo vardu ir pilnu keliu iki perkėlimo vietos.
scp suteikia kelis galimus parametrus, kurie leidžia atlikti skirtingus veiksmus perkėlimo metu. Dažniausiai naudojami parametrai yra:
* -P - nurodo, kad bus naudojamas nutolusio serverio SSH prievadas;
* -p - išsaugo failų keitimo ir prieigos laikus;
* -q - naudokite šį parametrą, jeigu norite sumažinti proceso svarbą tarp kitų serverio vykdomų procesų;
* -C - šis parametras nurodo suspausti failą siuntimo į kitą serverį metu;
* -r - šis parametras naudojamas kopijuojant katalogus.
2. Keli pastebėjimai prieš pradedant vykdyti komandas
Kaip ir minėjome anksčiau, scp komanda naudoja SSH prievadą, todėl atliekant perkėlimus yra prašoma naudoti SSH raktus arba suvesti slaptažodį tam, kad būtų autorizuojamąsi prie serverio.
Kad galėtumėte nukopijuoti failus, turite turėti šaltinio failo skaitymo teises bei serverio gaunančio failus rašymo teises.
Būkite atsargūs, kai kopijuojate failus, turinčius tą patį pavadinimą ir kitą failą gaunančiame serveryje, scp perrašys failus be perspėjimo.
3. Failų ir katalogų kopijavimas tarp skirtingų sistemų
Failo perkėlimas į kitą serverį
Norint atlikti šį perkėlimą visų pirmą turite prisijungti prie serverio, kuriame yra failas. Šio veiksmo atlikimui naudokite šią komandą:
scp failas.txt gaunančio_serverio_naudotojas@ip_adresas:/kelias/iki/direktorija
Įvedus šią komandą Jūsų bus paprašyta įvesti prisijungimus. Įvedus korektišką prisijungimą perkėlimas bus pradėtas:
gaunančio_serverio_naudotoja
s@
ip_adresas
's password:
failas.txt 100% 0 0.0KB/s 00:00
Tokiu būdu failas bus perkeltas su tuo pačiu pavadimu. Jeigu norite perkelti su kitu pavadinimu, naudokite šią komandą:
scp failas.txt
gaunančio_serverio_naudotojas
ip_adresas
:/kelias/iki/direktorijos/naujas_pavadinimas.txt
Jeigu kito serverio SSH tarnyba naudoja kitą prievadą, naudokite argumentą -P ir įveskite prievadą:
scp -P 2322 failas.txt
gaunančio_serverio_naudotojas
ip_adresas
:/kelias/iki/direktorija/
Direktorijos perkėlimui naudokite -r parametrą ir kelią iki direktorijos:
scp -r
/kelias/iki/direktorija/
gaunančio_serverio_naudotojas
@
ip_adresas
:/kelias/iki/direktorijos/
Failo esančio kitame serveryje perkėlimas į esamą serverį
Failo perkėlimui iš nutolusio serverio į esamą, naudokite šią komandą:
scp siunčiančio_serverio
_naudotojas@
ip_adresas
:/kelias/iki/siunčiamo/failo.txt
/esamo/serverio/direktorija
Papildomai bus perklausiama prisijungimo slaptažodžio prie nutolusio serverio.
Failo siuntimas tarp dviejų skirtingų nutolusių serverių
Skirtingai nei rsync programinė įranga, Jūs neturite prisijungti prie vieno iš serverių tam, kad perkelti failus tarp jų. Perkėlimui tarp dviejų skirtingų nutolusių serverių naudokite šią komandą:
scp naudotojas1@serveris1:/perkeliamas/failas.txt naudotojas2@serveris2:/direktorija
* naudotojas1@serveris1 - failą siunčiančio serverio duomenys;
*
naudotojas2@serveris2 - failą gaunančio serverio duomenys;
Jūsų bus perklausta abiejų serverių prisijungimo slaptažodžių. Tam, kad galėtumėte stebėti perkeliamo failo kelią, galite pridėti -3 parametrą. Pavyzdžiui:
scp -3 naudotojas1@serveris1:/perkeliamas/failas.txt naudotojas2@serveris2:/direktorija
Daugiau informacijos apie galimus kitus parametrus
scp komandoje galite rasti šioje
svetainėje.