Paprastai, kai norite nukopijuoti failus ir katalogus iš vieno serverio / vietinio kompiuterio kompiuterio į kitą, turite naudoti failų bendrinimo paslaugas, pvz., „Samba“ (SMB) ar NFS. Nors jie yra patikimi, tai varginantis procesas, kurį reikia naudoti kopijuojant vienkartinius failus.
Taip yra todėl, kad turite nustatyti ir sukonfigūruoti „Samba“ arba „NFS“ serverį. Tai sukelia poreikį suprasti ir naudoti SCP Linux komandą.
SCP (Secure Copy) komanda yra „Linux“ programa, naudojama saugiai kopijuoti failus / katalogus tarp kompiuterių. Vartotojams perduoti ir autentifikuoti jis naudoja SSH („Secure Shell“). Todėl, kaip ir naudojant SSH, turite žinoti savo nuotolinių kompiuterių kredencialus.
Jei gerai išmanote „Linux CP“ komandą, naudojamą failams ir katalogams kopijuoti, tada SCP nedaug skiriasi. Vienintelis pridėtas ir naudingas parametras yra nuotolinio paskirties pagrindinio kompiuterio vardas. Pažvelkite į žemiau esančią sintaksę.
„scp file_name_to_copy“ vartotojo vardas @ paskirties_host: paskirties_katalogo_kelias
Parametre „paskirties_hostas“ turite įvesti savo nuotolinio kompiuterio IP adresą. Jei nežinote, kaip jį rasti, paleiskite ipconfig komandą terminale.
Geriausi SCP komandos naudojimo „Linux“ būdai
Šiame straipsnyje mes apžvelgsime 15 naudingų SCP komandų, kurias galite naudoti kasdien bendraujant su „Linux“ sistemomis. Mes naudosime „Ubuntu 18“.04 LTS Server virtuali mašina kaip mūsų nuotolinis kompiuteris.
1. Nukopijuokite vieną failą iš vietinio kompiuterio į nuotolinį pagrindinį kompiuterį
Tai viena paprasčiausių komandų. Turiu vadinamą bylą Sveiki.scp vietiniame kompiuteryje, kurį ketiname nukopijuoti į savo nuotolinį kompiuterį. Žr. Toliau pateiktą komandą.
scp Sveiki.scp tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Dešinėje pusėje turime savo vietinį šeimininką, o kairėje - „Ubuntu“ serveris. Jei tai darote pirmą kartą, turėtumėte pamatyti įspėjimą, kuriame bus klausiama, ar norite tęsti ryšį, įveskite "taip.'Turėtumėte pamatyti raginimą įvesti savo nuotolinio kompiuterio slaptažodį. Vykdant ls komandą nuotoliniame pagrindiniame kompiuteryje, matome, kad sėkmingai nukopijavome failą.
2. Nukopijuokite kelis failus
Ankstesnėje komandoje matėme, kaip galime nukopijuoti vieną failą. Norėdami nukopijuoti kelis failus, naudokite sintaksę toliau pateiktoje komandoje. Kopijuosime tris bylas, Sveiki1, Sveiki2, ir Sveiki3.
scp Hello1 Hello2 Hello3 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Bėgdamas ls komandą nuotoliniame pagrindiniame kompiuteryje, matome, kad sėkmingai nukopijavome failus.
3. Rekursyviai nukopijuokite katalogą
Išskyrus failus, mes galime naudoti SCP, kad nukopijuotume katalogą iš vietinio kompiuterio į nuotolinį tikslą. Naudokite sintaksę žemiau esančioje komandoje. Kopijuosime aplanką „FOSSTUTS“.
scp -r FOSSTUTS tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Atkreipkite dėmesį, kad atlikdami bet kokį veiksmą visame kataloge, turėsime įtraukti parametrą -r, kuris reiškia rekursyvą.
4. Failų kopijavimas naudojant išsamią išvestį
Įtraukiant išsamų parametrą į mūsų SCP sintaksę, atspausdinamas visas procesas, kurį SCP atlieka fone. Nukopijuokime kelis failus į mūsų nuotolinį pagrindinį kompiuterį naudodami parametrą -v (verbose).
scp Hello1 Hello2 Hello3 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Iš aukščiau pateikto paveikslėlio galite pamatyti, kad turime daug išvesties iš komandos, kurią vykdėme vietiniame kompiuteryje. Joje pateikiama visa išsami informacija apie šiuo metu atliekamą operaciją.
5. Nukopijuokite failus per du nuotolinius kompiuterius
Darant prielaidą, kad tvarkote kelis nuotolinius serverius ir norite nukopijuoti failą iš vieno serverio į kitą. Pažvelkite į sintaksę žemiau esančioje komandoje.
scp tuts @ 192.168.43.96: / home / tuts / FOSSLINUX / Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Kopijuojame failą Sveiki1 iš šeimininko 192.168.43.96 šeimininkui 192.168.83.132.
6. Failų glaudinimas ir kopijavimas
Norėdami pagreitinti kopijavimo procesą ir sutaupyti pralaidumo, galite suspausti failus naudodami parametrą -C. Duomenys yra suglaudinami jūsų vietiniame kompiuteryje, o nuotoliniame pagrindiniame kompiuteryje jie yra išspausti. Žr. Žemiau esančią sintaksę.
scp -vC Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Įtraukėme parametrą -v (verbose), kad galėtumėte pamatyti, kas vyksta.
7. Pralaidumo valdymas
Failo kopijavimą į nuotolinį pagrindinį kompiuterį galima paaiškinti kaip įkėlimą. Jei siuntimo pralaidumas yra didelis, tai gali turėti įtakos kitiems procesams, vykstantiems fone. Naudodami parametrą -l galite apriboti pralaidumą, naudojamą kopijavimo procese. Žr. Toliau pateiktą komandą.
scp -l 100 Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Priskirtas pralaidumas yra kilobaitais. Todėl pirmiau pateiktoje komandoje kopijavimo procesui atlikti naudojame ne daugiau kaip 100 KB / s.
8. Naudokite pasirinktinį prievado numeravimą
Kaip paaiškinta aukščiau, SCP naudoja SSH failų kopijavimo procesui atlikti. Pagal numatytuosius nustatymus SSH veikia 22 prievade; tačiau jei sukonfigūravote SSH serverį nuotoliniame serveryje, kad jis veiktų kitame prievade, galite tai nurodyti savo SCP komandoje. Žr. Toliau pateiktą komandą.
scp -P 22 Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Kadangi nesukonfigūravau jokio SSH serverio, šiam įrašui paliekame 22 prievado numerį.
9. Failų atributų kopijavimas ir išsaugojimas
Jei norite nukopijuoti failą ir išsaugoti tokius atributus kaip leidimai, modifikavimo laikas, prieigos laikas ir kt., naudokite parametrą -p su SCP komanda. Žr. Toliau pateiktą komandą.
scp -P 22 Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Atminkite, kad šiame pavyzdyje „p“ yra mažosios raidės, skirtingai nei naudojant pasirinktinį prievado numerį.
10. Nutildyti SCP išėjimą naudojant parametrą -q
Tarkime, kad nenorite spausdinti SCP išvesties, pranešimų apie klaidas, įspėjimo ar net pažangos matuoklio. Tai galite pasiekti naudodami parametrą -q, kuris slopina visą SCP išvestį.
scp -q Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Iš aukščiau esančio paveikslėlio vienintelė SCP išvestis yra slaptažodžio raginimas. Parametras -q slopina visus kitus išėjimus.
11. Norėdami nukopijuoti failą iš nuotolinio kompiuterio į vietinį kompiuterį, naudokite SCP.
Daugeliui aukščiau pateiktų pavyzdžių kopijuojame failus iš vietinio kompiuterio į nuotolinį serverį. Tarkime, kad norite nukopijuoti failą iš nuotolinio serverio į vietinį kompiuterį. Turėtumėte naudoti komandą SCP šiek tiek pakoreguoti įprastoje sintaksėje. Pažvelkite į žemiau esančią komandą.
scp tuts @ 192.168.83.132: / home / tuts / FOSSLINUX / serverFile.txt / home / tuts / FOSSLINUX
Paleisdami ls komandą mūsų vietiniame kompiuteryje, matome, kad „serverFile.txt 'sėkmingai nukopijuota.
12. Nukopijuokite failus ir katalogus nenaudodami slaptažodžių
Iš aukščiau pateiktų pavyzdžių matome, kad kai tik reikia nukopijuoti failą, gauname raginimą įvesti slaptažodį. Šį veiksmą galime praleisti generuodami SSH raktus, kuriuos naudosite atpažinimo proceso metu.
Norėdami sugeneruoti SSH raktą, naudokite toliau pateiktą komandą.
ssh-keygen -t rsa
Sistema turėtų sugeneruoti SSH raktą. Procesą, vykstantį iš terminalo išvesties, galite pamatyti. Dabar turime nukopijuoti raktą į savo nuotolinį pagrindinį kompiuterį, kurį naudosite autentifikavimui. Naudokite toliau pateiktą komandą.
ssh-copy-id šaknis @ 192.168.4.200
Dabar pabandykime nukopijuoti failą iš vietinio kompiuterio į nuotolinį pagrindinį kompiuterį.
scp Hello1 tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Iš aukščiau esančio paveikslėlio matome, kad nebuvo raginimo įvesti slaptažodį.
13. Naudokite kitą šifrą
SCP saugiai kopijuoti failus naudoja AES šifrą / šifravimą. Tačiau naudodami parametrą -c galite nurodyti kitą šifro schemą. Atkreipkite dėmesį, kad c yra mažoji raidė, skirtingai nei glaudinant, kai C yra didžiosiomis raidėmis. Žr. Toliau pateiktą komandą.
scp -c aes128-gcm @ openssh.lt TESTFILE tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
Nurodėme šifravimo schemą, kurią norime naudoti kaip AES. Taip pat galite naudoti kitus, pvz., „Blowfish“ ir daugelį kitų.
scp -c blowfish TESTFILE tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
14. Vietoj slaptažodžio naudokite SSH rakto failą
SCP leidžia naudoti raktinį failą, o ne slaptažodį, kad užbaigtumėte autentifikavimo procesą naudodami parametrą -i, po kurio eina raktų failas. Žr. Toliau pateiktą komandą.
scp -c privateKey.pem TESTFILE tuts @ 192.168.83.132: / home / tuts / FOSSLINUX
15. Norėdami nukopijuoti failus, naudokite SCP apvalkalo scenarijų
Darant prielaidą, kad turite reguliariai naudoti komandą SCP, galite parašyti apvalkalo scenarijų, kad supaprastintumėte visą procesą. Šiame straipsnyje mes parašysime scenarijų, kuris nuskaito paskirties pagrindinį kompiuterį iš destfile.txt.
Žemiau yra mūsų SCP scenarijus
echo "Paleidžiantis SCP scenarijų" echo echo -e "Įveskite kelią į failą, kurį norite nukopijuoti: \ c" skaitykite failą, skirtą katalogui 'cat / tmp / destfile.txt '; darykite scp -rC $ failą $ dest: / tmp / atlikta
Išsaugokite failą naudodami a ".sh." pratęsimas, nes tai bash scenarijus. Padarykite scenarijų vykdomu naudodami komandą chmod, kaip parodyta paveikslėlyje, prieš vykdydami.
Išvada
Tai yra 15 SCP praktinių pavyzdžių, kuriuos galite pritaikyti, kad jūsų gyvenimas būtų lengvesnis dirbant su „Linux“ sistemomis. Ar turite SCP komandą, kuria norite pasidalinti su mūsų skaitytojais? Palikite komentarą žemiau. Jei jums atrodo, kad šis straipsnis yra išradingas, pasidalykite nuoroda su draugu.