Kaip nuotoliniu būdu kopijuoti failus per SSH įvedus slaptažodį
SSH yra gelbėtojas, kai reikia nuotoliniu būdu valdyti kompiuterį, bet ar žinote, kad taip pat galite įkelti ir atsisiųsti failus? Naudodamiesi SSH klavišais, galite praleisti, kad įvestumėte slaptažodžius ir naudokite skriptus!
Šis procesas veikia Linux ir Mac OS, jei jie tinkamai sukonfigūruoti SSH prieigai. Jei naudojate „Windows“, galite naudoti „Cygwin“, kad gautumėte Linux panašų funkcionalumą, ir su šiek tiek truputį, SSH veiks taip pat.
Failų kopijavimas per SSH
Saugi kopija yra tikrai naudinga komanda, ir tai labai paprasta naudoti. Pagrindinis komandos formatas yra toks:
scp [options] original_file destination_file
Didžiausias kicker yra tai, kaip formuoti nuotolinę dalį. Kai adresuojate nuotolinį failą, turite tai padaryti taip:
user @ server: kelias / į / failą
Serveris gali būti URL arba IP adresas. Po to seka dvitaškis, tada kelias į atitinkamą failą ar aplanką. Pažvelkime į pavyzdį.
scp -P 40050 Desktop / url.txt [email protected]: ~ / Desktop / url.txt
Ši komanda turi [-P] vėliavą (atkreipkite dėmesį, kad tai yra kapitalo P). Tai leidžia man nurodyti prievado numerį, o ne numatytąjį 22. Tai būtina man dėl to, kaip aš sukonfigūravau savo sistemą.
Toliau mano pradinis failas yra „url.txt“, kuris yra kataloge „Desktop“. Paskirties failas yra „~ / Desktop / url.txt“, kuris yra toks pat kaip „/user/yatri/Desktop/url.txt“. Šią komandą valdo „yatri“ nuotoliniame kompiuteryje „192.168.1.50“.
Ką daryti, jei reikia daryti priešingą? Panašiai galite kopijuoti failus iš nuotolinio serverio.
Čia nukopijuoju failą iš nuotolinio kompiuterio aplanko „~ / Desktop /“ į kompiuterio „Desktop“ aplanką.
Jei norite nukopijuoti visus katalogus, turėsite naudoti [-r] vėliavą (atkreipkite dėmesį, kad tai maža r).
Taip pat galite sujungti vėliavą. Vietoj
scp -P -r…
Jūs galite tiesiog padaryti
scp -Pr…
Sunkiausia dalis yra tai, kad skirtukų užbaigimas ne visada veikia, todėl naudinga turėti kitą terminalą, kuriame veikia SSH sesija, kad žinotumėte, į ką įtraukti.
SSH ir SCP be slaptažodžių
Saugi kopija yra puiki. Galite ją įterpti į scenarijus ir padaryti atsargines kopijas nuotoliniuose kompiuteriuose. Problema ta, kad ne visada galite įvesti slaptažodį. Be to, būkime sąžiningi, tai tikrai didelis skausmas įdėti slaptažodį į nuotolinį kompiuterį, kuriam, be abejo, turite prieigą prie viso laiko.
Na, mes galime naudotis slaptažodžiais naudojant pagrindinius failus. Mes galime, kad kompiuteris generuotų du pagrindinius failus - vieną nuotolinio serverio priklausančią visuomenę ir vieną asmeninį, kuris yra jūsų kompiuteryje ir turi būti saugus - ir jie bus naudojami vietoj slaptažodžio. Gražus, teisus?
Kompiuteryje įveskite šią komandą:
ssh-keygen -t rsa
Tai sukurs du raktus ir juos įkelia į:
~ / .ssh /
su „privataus rakto“ vardais „id_rsa“ ir viešojo rakto „id_rsa.pub“.
Įvedę komandą, būsite paprašyti, kur išsaugoti raktą. Jei norite naudoti pirmiau minėtus numatytuosius nustatymus, galite paspausti „Enter“.
Be to, būsite paprašyti įvesti slaptafrazę. Spustelėkite „Enter“, kad palikite šią tuščią, tada dar kartą atlikite, kai prašo patvirtinimo. Kitas žingsnis yra nukopijuoti viešojo rakto failą į nuotolinį kompiuterį. Norėdami tai padaryti, galite naudoti „scp“:
Jūsų viešojo rakto paskirties vieta yra nuotoliniame serveryje, šiame faile:
~ / .ssh / author_keys2
Vėlesni viešieji raktai gali būti pridėti prie šio failo, panašiai kaip failas ~ / .ssh / tuntud_hosts. Tai reiškia, kad jei norėsite pridėti dar vieną viešąjį raktą savo paskyroje šiame serveryje, antrojo id_rsa.pub failo turinį nukopijuotumėte į naują eilutę, esančią esamame Author_keys2 faile.
Saugumo aspektai
Ar tai ne mažiau saugus nei slaptažodis?
Praktiškai, ne iš tikrųjų. Sukurtas privatus raktas yra saugomas jūsų naudojamame kompiuteryje ir jis niekuomet neperduodamas, netgi netikrinamas. Šis privatus raktas TIK sutampa su vienu ONE viešuoju raktu ir ryšys turi būti paleistas iš kompiuterio, turinčio privatų raktą. RSA yra gana saugi ir pagal nutylėjimą naudoja 2048 bitų ilgį.
Tiesą sakant, tai gana panaši į slaptažodžio naudojimą. Jei kas nors žino jūsų slaptažodį, jūsų saugumas išeina iš lango. Jei kas nors turi jūsų privataus rakto failą, tuomet saugumas prarandamas bet kuriam kompiuteriui, turinčiam atitinkamą viešąjį raktą, tačiau jiems reikia prieigos prie jūsų kompiuterio, kad jį gautumėte.
Ar tai gali būti saugesnė?
Galite sujungti slaptažodį su pagrindiniais failais. Atlikite aukščiau nurodytus veiksmus, tačiau įveskite tvirtą slaptafrazę. Dabar, kai prisijungiate per SSH arba naudosite SCP, jums reikės tinkamo privataus rakto failo taip pat tinkamą slaptafrazę.
Kai įvesite slaptafrazę vieną kartą, jums nebus paprašyta dar kartą, kol uždarysite sesiją. Tai reiškia, kad pirmą kartą SSH / SCP turėsite įvesti savo slaptažodį, tačiau vėlesniems veiksmams to nereikės. Išsiregistravę iš kompiuterio (ne nuotolinio) ar uždarote terminalo langą, tada turėsite jį dar kartą įvesti. Tokiu būdu jūs tikrai ne aukosite saugumo, bet jūs taip pat nėra persekiojami už slaptažodžius visą laiką.
Ar galiu pakartotinai naudoti viešojo ir privataus rakto porą?
Tai tikrai bloga idėja. Jei kas nors suranda jūsų slaptažodį ir naudojate tą patį slaptažodį visoms savo paskyroms, dabar jie turi prieigą prie visų šių paskyrų. Be to, jūsų asmeninio rakto failas taip pat yra labai slaptas ir svarbus. (Norėdami gauti daugiau informacijos, pažiūrėkite, kaip sugadintas el. Pašto slaptažodis)
Geriausia sukurti naujas raktų poras kiekvienam kompiuteriui ir paskyrai, kurią norite susieti. Tokiu būdu, jei vienas iš jūsų privačių raktų sugriebs kažkaip, tuomet jūs galite tik vieną vieną kompiuterį pažeisti.
Taip pat labai svarbu pažymėti, kad visi jūsų privatūs raktai yra saugomi toje pačioje vietoje: kompiuteryje ~ / .ssh / galite naudoti „TrueCrypt“, kad sukurtumėte saugų, užšifruotą konteinerį, o tada ~ / .ssh / katalogas. Priklausomai nuo to, ką aš darau, aš naudoju šį super-paranoidinį super saugų metodą, kad galėčiau pasigirti.
Ar naudojote SCP bet kuriame scenarijuje? Ar vietoj slaptažodžių naudojate pagrindinius failus? Pasidalinkite savo patirtimi su kitais skaitytojais komentaruose!