SSH je spasilac kada morate daljinski upravljati računalom, ali jeste li znali da također možete prenositi i preuzimati datoteke? Koristeći SSH tipke, možete preskočiti da unosite zaporke i koristite ovo za skripte!
Ovaj proces funkcionira na Linux i Mac OS, pod uvjetom da su ispravno konfigurirani za SSH pristup. Ako koristite sustav Windows, možete koristiti Cygwin da biste dobili funkcionalnost sličnu Linuxu, a uz malo ugađanje, pokrenut će i SSH.
Sigurna kopija je stvarno korisna naredba i vrlo je jednostavna za korištenje. Osnovni format naredbe je sljedeći:
scp [opcije] original_file destination_file
Najveći kicker je kako formatirati udaljeni dio. Kada adresirate udaljenu datoteku, morate to učiniti na sljedeći način:
korisnik @ poslužitelj: put / do / datoteka
Poslužitelj može biti URL ili IP adresa. Nakon toga slijedi dvotočka, a zatim put do spornog datoteke ili mape. Pogledajmo primjer.
scp -P 40050 Desktop / url.txt [email protected]: ~ / Desktop / url.txt
Ova naredba sadrži [-P] zastavicu (napominjemo da je to glavni P). To mi omogućuje da odredim broj porta umjesto zadane vrijednosti 22. To je nužno za mene zbog načina na koji sam konfigurirala svoj sustav.
Zatim, moja izvorna datoteka je "url.txt" koja se nalazi unutar imenika pod nazivom "Desktop". Odredišna datoteka nalazi se u "~ / Desktop / url.txt" što je isto kao i "/user/yatri/Desktop/url.txt". Ova naredba vodi korisnik "yatri" na udaljenom računalu "192.168.1.50".
Što ako trebate učiniti suprotno? Na isti način možete kopirati datoteke s udaljenog poslužitelja.
Ovdje sam kopirao datoteku s mape "~ / Desktop /" na udaljenom računalu u mapu "Desktop" računala.
Da biste kopirali cijeli direktorij, morat ćete upotrijebiti oznaku [-r] (napominjemo da je mala slova r).
Također možete kombinirati zastave. Umjesto
scp -P -r ...
Možete samo učiniti
scp-Pr ...
Najteži dio je to što završetak kartice ne funkcionira uvijek, stoga je korisno imati još jedan terminal s SSH sesijom koja radi tako da znate gdje staviti stvari.
Sigurna kopija je sjajna. Možete ga staviti u skripte i napraviti sigurnosne kopije na udaljenim računalima. Problem je u tome što možda uvijek nećete biti u blizini za unos lozinke. I, budimo iskreni, velika je buka da stavite svoju lozinku na udaljeno računalo koje očito imate pristup cijelo vrijeme.
Pa, možemo se koristiti pomoću lozinki pomoću ključnih datoteka. Možemo imati računalo generirati dvije ključne datoteke - jednu javnost koja pripada na udaljenom poslužitelju i jedan privatni koji je na vašem računalu i mora biti siguran - i to će se koristiti umjesto lozinke. Prilično zgodan, zar ne?
Na računalu unesite sljedeću naredbu:
ssh-keygen -t rsa
To će generirati dva ključa i staviti ih u:
~ / .Ssh /
s imenima "id_rsa" za vaš privatni ključ i "id_rsa.pub" za vaš javni ključ.
Nakon što unesete naredbu, od vas će se pitati gdje spremiti ključ. Možete pritisnuti Enter da biste koristili gore navedene zadane postavke.
Zatim ćete morati unijeti zaporku. Pritisnite tipku Enter da biste ovo ostavili praznim, a zatim ponovite postupak kada zatražite potvrdu. Sljedeći je korak kopiranje datoteke javnog ključa na udaljeno računalo. Možete koristiti SCP da to učinite:
Odredište vašeg javnog ključa nalazi se na udaljenom poslužitelju, u sljedećoj datoteci:
~ / .Ssh / authorized_keys2
Naknadne javne ključeve mogu se dodati ovoj datoteci, slično kao i ~ / .ssh / known_hosts. To znači da biste, ako želite dodati još jedan javni ključ za svoj račun na ovom poslužitelju, kopirajte sadržaj druge datoteke id_rsa.pub u novu liniju postojeće datoteke authorized_keys2.
Nije li to manje sigurna od zaporke?
U praktičnom smislu, zapravo ne. Privatni ključ koji se generira pohranjuje se na računalu koje upotrebljavate i nikada se ne prenosi, čak ni ne mora se potvrditi. Taj se privatni ključ ONLY podudara s tim JAVNIM javnim ključem i veza treba započeti s računala s privatnim ključem. RSA je prilično sigurna i standardno koristi 2048 bita.
U teoriji je zapravo prilično slična upotrebi zaporke. Ako netko zna vašu zaporku, vaša sigurnost izlazi iz prozora. Ako netko ima vašu privatnu ključnu datoteku, tada se sigurnost gubi na bilo kojem računalu koje ima odgovarajući stidni ključ, ali je potreban pristup vašem računalu da bi je dobio.
Može li ovo biti sigurnije?
Možete kombinirati lozinku s ključnim datotekama. Slijedite gore navedene korake, ali unesite jaku zaporku. Sada, kada se povežete preko SSH ili koristite SCP, trebat će vam odgovarajuća datoteka privatne ključeve kao i pravilnu zaporku.
Nakon što jednom unesete zaporku, nećete ga više tražiti dok ne zatvorite sesiju. To znači da ćete prvi put SSH / SCP morati unijeti svoju zaporku, ali sve naknadne radnje to neće zahtijevati. Kada se odjavite s računala (a ne udaljenog računala) ili zatvorite prozor terminala, morat ćete ga ponovno unijeti. Na taj način niste žrtvovali sigurnost, ali i cijelo vrijeme niste uznemiravali za lozinke.
Mogu li ponovno koristiti javni / privatni ključni par?
Ovo je stvarno loša ideja. Ako netko pronađe vašu zaporku i upotrebljavate istu zaporku za sve svoje račune, tada oni imaju pristup svim tim računima. Slično, vaša privatna ključna datoteka je također super-tajna i važna. (Dodatne informacije potražite u članku Kako se vratiti nakon što je zapriječena adresa e-pošte)
Najbolje je stvoriti nove ključne parove za svako računalo i račun koji želite povezati. Na taj način, ako neki od vaših privatnih ključeva nekako bude uhvaćen, tada ćete samo kompromitirati jedan račun na jednom udaljenom računalu.
Isto je tako važno napomenuti da su svi vaši osobni ključevi pohranjeni na istom mjestu: u ~ / .ssh / na računalu možete koristiti TrueCrypt za stvaranje sigurnog, enkriptiranog spremnika, a zatim stvoriti simbole u ~ / .ssh / direktorij. Ovisno o tome što radim, upotrebljavam ovaj superparanoidni super siguran način kako bih pomogao umu.
Jeste li koristili SCP u bilo kojem skriptama? Koristite li ključne datoteke umjesto lozinki? Podijelite svoju stručnost s drugim čitateljima u komentarima!