2017. január 26., csütörtök

Hogyan másolj fájlokat távolról SSH-n keresztül a jelszavad megadása nélkül


Az SSH egy életmentő, ha távolról kell kezelj egy számítógépet, de tudtad, hogy tudsz feltölteni és letölteni fájlokat is?

Ez a folyamat Linuxon és Mac OS-en működik, feltéve, hogy megfelelően konfiguráltak SSH hozzáféréshez. Ha Windowst használsz, használhatsz Cygwin-t, hogy Linux-szerű funkcionalitást kapj és egy kis finomhangolással az SSH szintén futni fog.

Fájlok másolása SSH-n keresztül

A secure copy egy igazán hasznos parancs és nagyon könnyen használható. Az alap formátuma a parancsnak az alábbi:

scp [options] eredeti_fájl cél_fájl

A nagyobb dió az az, hogy hogyan formázd a távoli részt. Amikor megcímzel egy távoli fájlt, az alábbi módon kell megtenned:

user@server:path/to/file

A server lehet URL vagy IP cím. Ezt követi egy kettőspont, majd a kérdéses fájl vagy mappa elérhetési útvonala. Nézzünk meg egy példát.

scp –P 40050 Desktop/url.txt yatri@192.168.1.50:~/Desktop/url.txt

Ennek a parancsnak a sajátossága a [-P] jelző (figyeld meg, hogy egy nagybetűs P). Ez lehetővé teszi számomra, hogy megadjak egy port számot, az alapértelmezett 22 helyett. Ez számomra szükséges, amiatt, ahogy konfiguráltam a rendszeremet.

Következő, az eredeti fájlom az "url.txt", ami egy "Desktop" nevű könyvtáron belül van. A célfájl a "~/Desktop/url.txt", ami ugyanaz, mint az "/user/yatri/Desktop/url.txt". A parancs a "yatri" nevű felhasználó által lesz futtatva a távoli számítógépen "192.168.1.50".

    
Mi van akkor, ha az ellenkezőjét kell csinálnod? Képes vagy másolni fájlokat a távoli szerverről hasonlóan.


Itt átmásoltam egy fájlt a távoli számítógép "~/Desktop/" mappájából a saját számítógépem "Desktop" mappájába.

Teljes könyvtárak másolásához az [-r] jelzőt kell használd (figyeld meg, hogy kisbetű az r).


Kombinálhatod is a jelzőket. Az scp –P –r … helyett ezt is csinálhatod: scp –Pr …

A legkeményebb rész itt az, hogy a parancssoros kiegészítés itt nem mindig működik, így hasznos, ha van egy másik terminálunk egy futó SSH folyamattal, így tudjuk, hogy hova rakjuk a dolgokat.

SSH és SCP jelszavak nélkül

A secure copy nagyszerű. Belerakhatod scriptekbe és biztonsági mentést csinálhatsz vele távoli számítógépeken. A probléma az az, hogy nem mindig vagy jelen, hogy beírd a jelszót. Valamint legyünk őszinték, igazán nagy fáradtság beírni a jelszót egy olyan távoli géphez, amihez egyértelműen van hozzáférésed állandóan.

Nos, megkerülhetjük a jelszavak használatát kulcs fájlok használatával. Generálhat nekünk a számítógép két kulcs fájlt - egy publikust, ami a távoli szerveren marad és egy privátot, ami a számítógépeden van és biztonságban kell legyen - és ezek lesznek használva a jelszavak helyett. Elég kényelmes, ugye?

A saját gépeden írd be az alábbi parancsot:

ssh-keygen –t rsa

Ez elkészíti a két kulcsot és beleteszi őket ide:

~/.ssh/

Az "id_rsa" nevű a privát kulcsod és az "id_rsa.pub" a publikus kulcsod.


 A parancs megadása után rákérdez, hogy hova szeretnéd menteni a kulcsot. Megnyomhatod az Enter-t a fent említett alapértelmezések használatához.

Azután megkér, hogy írj be egy jelmondatot. Nyomj Enter-t, hogy ezt üresen hagyd, majd nyomd meg újra, amikor megerősítést kér. A következő lépés a publikus kulcs átmásolása a távoli számítógépre. Ezt megteheted az scp használatával:


A publikus kulcsod helye a távoli számítógépen az alábbi fájlban van:

~/.ssh/authorized_keys2

További publikus kulcsokat lehet csatolni ehhez a fájlhoz, hasonlóan az ~/.ssh/known_hosts fájlhoz. Ez azt jelenti, hogy ha még egy publikus kulcsot szeretnél a fiókodhoz adni ezen a szerveren, át kell másolnod a második id_rsa.pub fájl tartalmát a létező authorized_keys2 fájl egy új sorába.

Biztonsági megfontolások

Ez nem kevésbé biztonságos, mint egy jelszó?

Gyakorlatilag nem igazán. A generált privát kulcs az általad használt számítógépen tárolt, sosincs áthelyezve, még ellenőrzéshez sem. Ez a privát kulcs CSAK ahhoz az EGY publikus kulcssal egyeztethető össze és a kapcsolatot arról a számítógépről kell indítani, ami a privát kulcssal rendelkezik. Az RSA elég biztonságos és 2048 bites hosszúságot használ alapból.

Tulajdonképpen nagyon hasonlít elméletben ahhoz, amikor a jelszavadat használod. Ha valaki tudja a jelszavadat, a biztonságod kirepül az ablakon. Ha valaki rendelkezik a privát kulcs fájloddal, akkor a biztonság bármelyik olyan számítógéppel kapcsolatban elveszett, amelyik rendelkezik a megfelelő publikus kulcssal, de hozzá kell férniük a számítógépedhez, hogy megszerezzék.

Lehet ez még biztonságosabb?

Összeköthetsz egy jelszót a kulcs fájljaiddal. Kövesd a fenti lépéseket, de írj be egy erős jelmondatot. Ezután mikor SSH-n keresztül csatlakozol vagy az SCP-t használod, szükséged lesz a megfelelő privát kulcs fájlra és a megfelelő jelmondatra egyaránt.

Ha egyszer megadtad a jelmondatodat, nem kell újra megadnod, amíg be nem zárod a munkafolyamatot. Ez azt jelenti, hogy amikor először használod az SSH-t/SCP-t, be kell írnod a jelszavad, de minden azutáni művelet nem fogja igényelni. Ha egyszer kijelentkezel a számítógépeden (nem a távolin) vagy bezárod a terminál ablakot, akkor újra be kell írnod. Ezzel a módszerrel nem áldozod fel a biztonságodat, de a jelszavakkal sem leszel állandóan bosszantva.


Lehetséges a publikus/privát kulcspárom újbóli felhasználása?

Ez egy igazán rossz ötlet. Ha valaki kitalálja a jelszavadat és te ugyanazt a jelszót használod az összes fiókodhoz, akkor most az összes ilyen fiókhoz van hozzáfére. Hasonlóképpen a privát kulcsot szintén szupertitkos és fontos. (Bővebb információkért nézd meg a Mit tegyél, miután megszerezték az e-mail jelszavadat című bejegyzést)

A legjobb minden olyan számítógéphez és fiókhoz új kulcspárt létrehozni, amiket össze kívánsz kapcsolni.

Azt is nagyon fontos megjegyezni, hogy minden privát kulcsod ugyanazon a helyen van tárolva: az ~/ssh/-ban a számítógépeden. Használhatsz TrueCrypt-et, hogy létrehozz egy biztonságos, titkosított tárolót, majd hozz létre szimbolikus linkeket az ~/.ssh könyvtáradban. Attól függően, hogy mit csinálok, ezt a szuper paranoid szuperbiztonságos módszert használom, hogy nyugodt legyek.

Használtál SCP-t bármilyen scriptben? Kulcs fájlokat használsz jelszavak helyett? Oszd meg szaktudásodat más olvasókkal a hozzászólásokban!

Felhasznált forrás: How To Remotely Copy Files Over SSH Without Entering Your Password

Nincsenek megjegyzések:

Megjegyzés küldése