Ozbiljno shvatite sajber bezbednost i koristite SSH ključeve za pristup udaljenim sistemima. Oni pružaju sigurniji način povezivanja u poređenju sa tradicionalnim lozinkama. U ovom vodiču, pokazaćemo vam kako da generišete, instalirate i koristite SSH ključeve na Linux operativnom sistemu.
Zašto su lozinke problematične?
Secure Shell (SSH) je šifrovani protokol koji se koristi za prijavljivanje na korisničke naloge na udaljenim računarima koji koriste sisteme slične Linuxu ili Unixu. Uobičajeno, ovi korisnički nalozi su zaštićeni lozinkama. Kada se prijavljujete na udaljeni računar, potrebno je da unesete korisničko ime i lozinku za nalog na koji se povezujete.
Lozinke su najčešće korišćeno sredstvo za obezbeđivanje pristupa računarskim resursima. Međutim, sigurnost zasnovana na lozinkama ima svoje slabosti. Ljudi često biraju jednostavne lozinke, dele ih sa drugima, ili koriste istu lozinku na više različitih sistema.
SSH ključevi nude daleko veću bezbednost, a kada se jednom podese, mogu se koristiti jednako lako kao i lozinke.
Šta to SSH ključeve čini bezbednim?
SSH ključevi se kreiraju i koriste u parovima. Dva ključa su povezana i kriptografski zaštićena. Jedan je vaš javni ključ, a drugi je vaš privatni ključ. Oni su vezani za vaš korisnički nalog. Ako više korisnika na istom računaru koristi SSH ključeve, svaki korisnik će imati svoj par ključeva.
Vaš privatni ključ se čuva u vašem kućnom direktorijumu (najčešće), dok se javni ključ instalira na udaljenom računaru – ili računarima – kojima želite da pristupite.
Vaš privatni ključ se mora čuvati na sigurnom mestu. Ukoliko je dostupan drugima, vi ste u istoj situaciji kao da je vaša lozinka otkrivena. Razumna – i toplo preporučena – mera predostrožnosti je da svoj privatni ključ zaštitite enkripcijom na vašem računaru koristeći jaku pristupnu frazu.
Javni ključ možete slobodno deliti bez ikakvog rizika po vašu bezbednost. Nije moguće utvrditi koji je privatni ključ ispitivanjem javnog ključa. Privatni ključ može šifrovati poruke koje samo privatni ključ može dešifrovati.
Kada pokrenete zahtev za povezivanje, udaljeni računar koristi svoju kopiju vašeg javnog ključa da kreira šifrovanu poruku. Ova poruka sadrži ID sesije i druge meta-podatke. Samo računar koji poseduje privatni ključ – vaš računar – može dešifrovati ovu poruku.
Vaš računar pristupa vašem privatnom ključu i dešifruje poruku. Zatim šalje svoju šifrovanu poruku nazad udaljenom računaru. Između ostalog, ova šifrovana poruka sadrži ID sesije koji je primljen sa udaljenog računara.
Udaljeni računar sada zna da ste zaista vi, jer samo vaš privatni ključ može da izdvoji ID sesije iz poruke koju je poslao vašem računaru.
Proverite pristup udaljenom računaru
Uverite se da možete da se povežete i prijavite na udaljeni računar. Ovo dokazuje da vaše korisničko ime i lozinka odgovaraju validnom nalogu na udaljenom računaru i da su vaši akreditivi tačni.
Nemojte pokušavati ništa da radite sa SSH ključevima dok ne potvrdite da možete koristiti SSH sa lozinkama za povezivanje sa ciljnim računarom.
U ovom primeru, korisnik sa nalogom pod imenom „dave“ je prijavljen na računar koji se zove „wdzwdz“. Želi da se poveže sa drugim računarom koji se zove „Sulaco“.
On unosi sledeću komandu:
ssh [email protected]
Od njega se traži lozinka, on je unosi i povezuje se sa Sulaco računarom. Njegova komandna linija se menja da bi to potvrdila.
To je sva potvrda koja nam je potrebna. Korisnik „dave“ može da prekine vezu sa Sulaco računarom komandom „exit“:
exit
On prima poruku o prekidu veze, a njegova komandna linija se vraća na „[email protected]“.
Kreiranje para SSH ključeva
Ova uputstva su testirana na Ubuntu, Fedora i Manjaro Linux distribucijama. U svim slučajevima, proces je bio identičan i nije bilo potrebe za instaliranjem dodatnog softvera na test mašinama.
Da biste generisali svoje SSH ključeve, unesite sledeću komandu:
ssh-keygen
Proces generisanja počinje. Bićete upitani gde želite da sačuvate svoje SSH ključeve. Pritisnite taster Enter da biste prihvatili podrazumevanu lokaciju. Dozvole za direktorijum će ga zaštititi samo za vašu upotrebu.
Sada će se od vas tražiti da unesete pristupnu frazu. Preporučujemo da unesete pristupnu frazu. I zapamtite je! Možete pritisnuti Enter da nemate pristupnu frazu, ali to nije dobra ideja. Pristupna fraza koja se sastoji od tri ili četiri nepovezane reči, spojene zajedno, činiće veoma jaku pristupnu frazu.
Biće od vas zatraženo da još jednom unesete istu pristupnu frazu kako biste potvrdili da ste otkucali ono što ste hteli.
SSH ključevi se generišu i čuvaju za vas.
Možete ignorisati „randomart“ koji se prikazuje. Neki udaljeni računari mogu prikazati svoju nasumičnu sliku svaki put kada se povežete. Ideja je da prepoznate ako se nasumična slika promeni i da posumnjate na vezu jer to znači da su SSH ključevi za taj server izmenjeni.
Instaliranje javnog ključa
Moramo da instaliramo vaš javni ključ na Sulaco, udaljeni računar, tako da on zna da javni ključ pripada vama.
Ovo se radi pomoću komande „ssh-copy-id“. Ova komanda uspostavlja vezu sa udaljenim računarom kao obična ssh komanda, ali umesto da vam dozvoli da se prijavite, ona prebacuje javni SSH ključ.
ssh-copy-id [email protected]
Iako se ne prijavljujete na udaljeni računar, i dalje morate da se autentifikujete pomoću lozinke. Udaljeni računar mora da identifikuje kojem korisničkom nalogu pripada novi SSH ključ.
Imajte na umu da je lozinka koju morate uneti ovde lozinka za korisnički nalog na koji se prijavljujete. Ovo nije pristupna fraza koju ste upravo kreirali.
Kada je lozinka verifikovana, „ssh-copy-id“ prenosi vaš javni ključ na udaljeni računar.
Bićete vraćeni na komandnu liniju vašeg računara. Niste ostali povezani sa udaljenim računarom.
Povezivanje pomoću SSH ključeva
Hajde da pratimo predlog i pokušamo da se povežemo sa udaljenim računarom.
ssh [email protected]
Pošto proces povezivanja zahteva pristup vašem privatnom ključu, a pošto ste zaštitili svoje SSH ključeve pristupnom frazom, moraćete da unesete pristupnu frazu da bi se veza mogla nastaviti.
Unesite svoju pristupnu frazu i kliknite na dugme „Otključaj“.
Kada unesete svoju pristupnu frazu u sesiji terminala, nećete morati ponovo da je unosite sve dok je prozor terminala otvoren. Možete se povezivati i prekidati veze sa koliko god udaljenih sesija želite, bez ponovnog unosa pristupne fraze.
Možete da označite polje za potvrdu za opciju „Automatski otključaj ovaj ključ kad god sam prijavljen“, ali to će smanjiti vašu bezbednost. Ako ostavite svoj računar bez nadzora, svako može da uspostavi veze sa udaljenim računarima koji imaju vaš javni ključ.
Kada unesete pristupnu frazu, povezani ste sa udaljenim računarom.
Da biste još jednom potvrdili ceo proces, isključite vezu komandom „exit“ i ponovo se povežite sa udaljenim računarom iz istog prozora terminala.
ssh [email protected]
Bićete povezani sa udaljenim računarom bez potrebe za lozinkom ili pristupnom frazom.
Bez lozinki, ali sa unapređenom bezbednošću
Stručnjaci za sajber bezbednost često govore o nečemu što se zove „bezbednosno trenje“. To je mali napor koji je potrebno uložiti da bi se postigla veća sigurnost. Obično je potreban jedan ili dva dodatna koraka da biste usvojili sigurniji način rada. Većina ljudi to ne voli. Oni zapravo više vole manju sigurnost i nedostatak trenja. To je ljudska priroda.
Sa SSH ključevima, dobijate povećanu sigurnost i veću pogodnost. To je definitivna prednost.