6Aug

Ako vzdialene kopírovať súbory cez SSH bez zadania hesla

SSH je záchranca, keď potrebujete vzdialene spravovať počítač, ale viete, že môžete tiež nahrať a sťahovať súbory? Pomocou SSH kľúčov môžete preskočiť, aby ste museli zadávať heslá a používať to pre skripty!

Tento proces funguje na systémoch Linux a Mac OS za predpokladu, že sú správne nakonfigurované na prístup SSH.Ak používate operačný systém Windows, môžete používať službu Cygwin, aby ste získali funkčnosť podobnú systému Linux. S malým ladením bude fungovať aj SSH.

Kopírovanie súborov cez SSH

Zabezpečená kópia je naozaj užitočný príkaz a je to naozaj jednoduché použitie. Základný formát príkazu je nasledujúci:

scp [options] original_file destination_file

Najväčším kickerom je spôsob formátovania vzdialenej časti. Keď adresujete vzdialený súbor, musíte to urobiť nasledujúcim spôsobom:

user @ server: cesta /to/ súbor

Server môže byť adresa URL alebo IP adresa. Nasleduje dvojbodka, potom cesta k príslušnému súboru alebo priečinku. Pozrime sa na príklad.

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

Tento príkaz obsahuje príznak [-P]( všimnite si, že je to kapitál P).To umožňuje určiť číslo portu namiesto predvoleného nastavenia 22. Toto je pre mňa nevyhnutné kvôli spôsobu, akým som nakonfiguroval môj systém.

Ďalej môj pôvodný súbor je "url.txt", ktorý je vnútri adresára s názvom "Desktop".Cieľový súbor je v "~ /Desktop/ url.txt", ktorý je rovnaký ako "/user/yatri/Desktop/ url.txt".Tento príkaz je spustený používateľom "yatri" na vzdialenom počítači "192.168.1.50".

Čo ak potrebujete urobiť opak? Môžete kopírovať súbory zo vzdialeného servera podobne.

Tu som skopíroval súbor zo zložky "~ /Desktop/" vzdialeného počítača do priečinka "Desktop" v počítači.

Ak chcete kopírovať celé adresáre, musíte použiť príznak [-r]( všimnite si, že je to malé písmeno r).

Môžete tiež kombinovať príznaky. Namiesto

scp -P -r. ..

Môžete jednoducho urobiť

scp -Pr. ..

Najťažšia časť tu je, že dokončenie karty nefunguje vždy, takže je užitočné mať iný terminál s reláciou SSH spustený, aby ste vedelikde dať veci.

SSH a SCP bez hesiel

Zabezpečená kópia je skvelá.Môžete to dať do skriptov a nechať ich zálohovať do vzdialených počítačov. Problém spočíva v tom, že niekedy nemôžete zadávať heslo. A buďme úprimní, je to skutočne veľká bolesť, aby ste vložili svoje heslo do vzdialeného počítača, na ktorý ste zjavne mali prístup.

No, môžeme sa dostať okolo pomocou hesiel pomocou kľúčových súborov. Počítač môžeme vytvoriť dva kľúčové súbory - jednu verejnosť, ktorá patrí na vzdialený server a jeden súkromný, ktorý je vo vašom počítači a musí byť bezpečný - a tieto budú použité namiesto hesla. Docela pohodlné, že?

Do počítača zadajte nasledujúci príkaz:

ssh-keygen -t rsa

Týmto sa vygenerujú dva klávesy a vložia sa do nich:

~ /.ssh/

s názvami "id_rsa" pre váš súkromný kľúč a "id_rsa.pub" preváš verejný kľúč.

Po zadaní príkazu sa zobrazí výzva na uloženie kľúča. Ak chcete použiť vyššie uvedené predvolené hodnoty, stlačte kláves Enter.

Potom budete požiadaní o zadanie prístupovej frázy. Stlačením klávesu Enter nechajte toto prázdne, potom to znova urobte, keď požiada o potvrdenie.Ďalším krokom je skopírovanie súboru verejného kľúča na vzdialený počítač.Na tento účel môžete použiť scp:

Cieľ vášho verejného kľúča je na vzdialenom serveri v nasledujúcom súbore:

~ /.ssh/ authorized_keys2

Nasledujúce verejné kľúče môžu byť pripojené k tomuto súboru podobne ako súbor ~ /.ssh/ known_hosts. To znamená, že ak by ste chceli na tomto serveri pridať ďalší verejný kľúč pre svoj účet, skopírovali by obsah druhého súboru id_rsa.pub do nového riadku v existujúcom súbore authorized_keys2.

Bezpečnostné aspekty

Nie je to menej bezpečné ako heslo?

V praktickom zmysle, nie naozaj. Privátny kľúč, ktorý sa generuje, je uložený v počítači, ktorý používate, a nikdy sa neprevedie, ani sa neoverí.Tento súkromný kľúč LEN sa zhoduje len s jedným verejným kľúčom a pripojenie musí byť spustené z počítača s privátnym kľúčom. RSA je celkom bezpečná a používa predvolenú dĺžku 2048 bitov.

Je to v podstate teoreticky podobné ako používanie hesla. Ak niekto pozná vaše heslo, vaša bezpečnosť vyprší z okna. Ak má niekto súbor vášho súkromného kľúča, stráca sa bezpečnosť v každom počítači, ktorý má zodpovedajúci verejný kľúč, ale potrebuje prístup k vášmu počítaču, aby ho získal.

Môže to byť bezpečnejšie?

Môžete skombinovať heslo so súbormi kľúčov. Postupujte podľa vyššie uvedených krokov, ale zadajte silnú prístupovú frázu. Teraz, keď sa pripojíte cez SSH alebo použijete SCP, budete potrebovať správny súbor súkromného kľúča , rovnako ako správnu prístupovú frázu.

Akonáhle raz zadáte prístupovú frázu, nebudete ju opäť požiadaní, kým nezatvoríte svoju reláciu. To znamená, že pri prvom spustení SSH / SCP budete musieť zadať svoje heslo, ale všetky nasledujúce akcie si to nevyžadujú.Keď sa odhlásíte z počítača( nie z diaľkového) alebo zatvoríte okno terminálu, budete musieť znova ho zadať.Týmto spôsobom bezpečne neznamenáte, že ste stále obťažovaní hesla.

Môžem znovu použiť páru verejného / súkromného kľúča?

Toto je naozaj zlý nápad. Ak niekto nájde vaše heslo a používate rovnaké heslo pre všetky svoje účty, teraz majú prístup ku všetkým týmto účtom. Podobne aj váš súbor súkromného kľúča je super tajný a dôležitý.(Viac informácií nájdete na stránke Ako obnoviť po odstránení hesla e-mailu)

Najlepšie je vytvoriť nové páry kľúčov pre každý počítač a účet, ktorý chcete prepojiť.Týmto spôsobom, ak jeden z vašich súkromných kľúčov bude nejakým spôsobom zachytený, narazíte na jeden účet na jednom vzdialenom počítači.

Je tiež naozaj dôležité poznamenať, že všetky vaše súkromné ​​kľúče sú uložené na rovnakom mieste: v aplikácii ~ /.ssh/ v počítači môžete použiť TrueCrypt na vytvorenie bezpečného šifrovaného kontajnera a potom vytvoriť symbolické odkazy v adresári ~ /.ssh/.V závislosti od toho, čo robím, používam super-paranoidnú metódu super-bezpečnú, aby som si uvoľnila moju myseľ.

Používali ste SCP v ľubovoľných skriptoch? Používate kľúčové súbory namiesto hesiel? Zdieľajte svoje vlastné skúsenosti s ostatnými čitateľmi v komentároch!