6Aug

Kako daljinsko kopirati datoteke nad SSH brez vnašanja gesla

SSH je lifesaver, ko potrebujete daljinsko upravljanje računalnika, vendar ste vedeli, da lahko tudi nalagate in prenesete datoteke? S pomočjo tipk SSH lahko preskočite, če želite vnesti gesla in uporabiti to za skripte!

Ta postopek deluje na Linuxu in Mac OS, pod pogojem, da so pravilno konfigurirani za dostop SSH.Če uporabljate Windows, lahko Cygwin uporabljate za pridobitev funkcij, podobnih Linuxu, in z malo potegom bo SSH tudi zagnal.

Kopiranje datotek preko SSH

Varna kopija je res uporaben ukaz in je zelo enostaven za uporabo. Osnovna oblika ukaza je naslednja:

scp [options] original_file destination_file

Največji kicker je, kako formatirati oddaljeni del. Ko naslovite oddaljene datoteke, morate to storiti na naslednji način:

user @ server: pot /to/ datoteka

Strežnik je lahko URL ali naslov IP.Temu sledi dvopičje, nato pa pot do zadevne datoteke ali mape. Poglejmo si primer.

scp -P 40050 Namizje / url.txt [email protected]: ~ /Desktop/ url.txt

Ta ukaz ima oznako [-P]( upoštevajte, da gre za kapital P).To mi omogoča, da navedem številko vrat, namesto privzetega 22. To je potrebno zame zaradi načina, kako sem konfiguriral moj sistem.

Nato je moja izvorna datoteka "url.txt", ki je v imeniku "Desktop".Ciljna datoteka je v "~ /Desktop/ url.txt", ki je enaka kot "/user/yatri/Desktop/ url.txt".Ta ukaz upravlja uporabnik "yatri" na oddaljenem računalniku "192.168.1.50".

Kaj, če morate storiti nasprotno? Podobno lahko kopirate datoteke iz oddaljenega strežnika.

Tukaj sem kopiral datoteko iz oddaljenega računalnika "~ /Desktop/" v mapo "namizja" mojega računalnika.

Če želite kopirati celotne imenike, morate uporabiti zastavo [-r]( upoštevajte, da gre za malenkostno r).

Lahko tudi kombinirate zastave. Namesto

scp -P -r. ..

Lahko storite samo

scp -Pr. ..

Najtežji del tukaj je, da dokončanje zavihka ne deluje vedno, zato je koristno imeti še en terminal s SSH sejo, ki se izvaja tako, da vestekje postaviti stvari.

SSH in SCP Brez gesel

Varna kopija je odlična. Lahko ga vstavite v skripte in naredite varnostne kopije na oddaljenih računalnikih. Težava je v tem, da morda ne boste vedno vnesli gesla. In, bodite pošteni, resnično velika bolečina je, da v svoje geslo namestite oddaljeni računalnik, ki ste ga očitno imeli vedno ves čas.

No, z uporabo ključnih datotek lahko preberemo gesla. Računalnik lahko ustvarimo dve ključni datoteki - ena javnost, ki spada v oddaljeni strežnik, in ena zasebna, ki je na vašem računalniku in mora biti varna - in ti bodo uporabljeni namesto gesla. Precej priročno, kajne?

Na vašem računalniku vnesite naslednji ukaz:

ssh-keygen -t rsa

To bo ustvarilo dve ključi in jih dalo v:

~ /.ssh/

z imeni »id_rsa« za vaš zasebni ključ in »id_rsa.pub« zavaš javni ključ.

Ko vnesete ukaz, vas bo vprašal, kje shraniti ključ.Lahko pritisnete Enter, če želite uporabiti zgoraj navedene privzete nastavitve.

Nato boste morali vnesti geslo. Pritisnite Enter, da pustite to prazno, nato pa znova naredite, ko zahteva potrditev. Naslednji korak je kopiranje datoteke javnega ključa v oddaljeni računalnik. Za to lahko uporabite scp:

Ciljni javni ključ je v oddaljenem strežniku v naslednji datoteki:

~ /.ssh/ authorized_keys2

Kasnejši javni ključi se lahko dodajo tej datoteki, podobno kot datoteka ~ /.ssh/ known_hosts. To pomeni, da če želite v tem strežniku dodati še en javni ključ za svoj račun, bi kopirali vsebino druge datoteke id_rsa.pub v novo vrstico v obstoječi datoteki authorized_keys2.

Varnostna vprašanja

Ali ni to manj varno kot geslo?

V praktičnem smislu, ni res. Zasebni ključ, ki je bil ustvarjen, je shranjen v računalniku, ki ga uporabljate, in je nikoli ni prenesen, niti ga ni mogoče preveriti. Ta zasebni ključ se SAMO ujema s tem javnim ključem ONE, povezavo pa je treba zagnati iz računalnika, ki ima zasebni ključ.RSA je zelo varen in uporablja privzeto dolžino 2048 bitov.

Pravzaprav je v teoriji precej podobno, da uporabite geslo.Če nekdo pozna vaše geslo, vaša varnost izgine iz okna.Če ima nekdo svojo datoteko z zasebnim ključem, se varnost izgubi v katerem koli računalniku, ki ima ujemajoči javni ključ, vendar potrebujejo dostop do vašega računalnika, da ga dobite.

Ali je to bolj varno?

Gesla lahko združite s ključnimi datotekami. Sledite zgornjim korakom, vendar vnesite močno geslo. Zdaj, ko se povežete preko SSH ali uporabite SCP, boste potrebovali ustrezno datoteko zasebnega ključa in pravilno geslo.

Ko enkrat enkrat vnesete geslo, vas ne bo več vprašal, dokler ne zaprete seje. To pomeni, da boste prvič, ko boste SSH / SCP, morali vnesti geslo, vendar za vse nadaljnje ukrepe tega ne potrebujete. Ko se odjavite iz računalnika( ne oddaljenega) ali zaprete okno terminala, ga boste morali znova vnesti. Na ta način ne boste resnično žrtvovali varnosti, vendar niste vedno nadlegani za gesla ves čas.

Ali lahko znova uporabim par javnega / zasebnega ključa?

To je res slaba ideja.Če nekdo najde vaše geslo in uporabljate isto geslo za vse svoje račune, imajo zdaj dostop do vseh teh računov. Podobno je datoteka zasebnega ključa tudi skrivnostna in pomembna.(Za več informacij si oglejte Kako obnoviti po e-poštnem geslu, ki je ogrožena)

Najbolje je, da ustvarite nove pari ključev za vsak račun in račun, ki ga želite povezati. Na ta način, če nekdo od vaših zasebnih ključev nekako ujame, potem boste ogrozili samo en račun na enem oddaljenem računalniku.

Pomembno je tudi poudariti, da so vsi vaši zasebni ključi shranjeni na istem mestu: v računalniku ~ /.ssh/ lahko z TrueCryptom ustvarite varen, šifriran vsebnik in ustvarite simbolne povezave v imeniku ~ /.ssh/.Glede na to, kaj delam, uporabljam super-paranoid super-varno metodo , da bi se moj um olajšal.

Ste uporabili SCP v skriptih? Ali namesto gesel uporabljate ključne datoteke? Delite svoje strokovno znanje z drugimi bralci v komentarjih!