Kako postaviti SSH ključeve?

Napomena: Ovaj tekst je nastavak na post „Kako radi SSH protokol“ koji možete pročitati ovdje, ako već niste prije nego što nastavite s čitanjem ovog posta.

U ovom tutorialu ćete naučiti kako postaviti SSH ključeve na svoj lokalni uređaj i koristiti generirani par ključeva za povezivanje s udaljenim serverom. Ova metoda je prikladnija i omogućava sigurniji način povezivanja s udaljenim serverom nego korištenje lozinke.

Osim toga, možete pogledati ovaj vodič “Kako se povezati s VPS-om pomoću Puttya“. Vrlo je korisntan ako koristite Windows OS i niste sigurni kako se povezati sa serverom.

Što će vam trebati

Prije nego što počnemo, trebat će vam sljedeće:

  • Pristup lokalnom uređaju (vaš laptop),
  • Pristup udaljenom uređaju (server),
  • Terminal za SSH konekciju

1. korak – Generiranje SSH ključeva

Možete generirati i postaviti RSA ključeve na Linux / Unix sustavu koristeći bilo koju vrstu terminala koji vaš lokalni uređaj ima.

Nakon ulaska u Terminal, otvorit će vas se prozor sličan ovome:

Ovdje možete početi pisati potrebne naredbe. Prvo što trebate učiniti je generirati par ključeva na vašem lokalnom računalu. To možete učiniti pomoću ove jednostavne naredbe:

ssh-keygen -t rsa

Nakon što unesete ovu naredbu, pojavit će se nekoliko pitanja:

Enter file in which to save the key (/home/tautvydas/.ssh/id_rsa):

Općenito je preporučljivo jednostavno ostaviti ga onakvim kakvo jest (pritisnite ENTER, a da ništa ne upišete) kako bi generator ključeva stvorio par ključeva na defaultnoj lokaciji (u ovaj tutorial je upisano drugo ime tut_id kako bi se izbjegli duplicirani ključeve, jer naš lokalni uređaj je već stvorio id_rsa ključeve). Druga dva pitanja koja će se pojaviti:

Enter passphrase (empty for no passphrase):

Zatim

Enter same passphrase again:

Iz praktičnih razloga ostavit ćemo i ova polja prazna. Na taj način, nakon postavljanja ključeva na udaljenom serveru, nećete trebati koristiti bilo koju vrstu lozinke za prijavu. Jednostavno ćete unijeti naredbu:

ssh user @ serverip

te ćete se onda odmah ulogirati u udaljeni server sve dok su ključevi pravilno postavljeni. Ali ako vam treba još veća sigurnost, u ovaj odjeljak možete unijeti lozinku. Ako odaberete ovu opciju, morat ćete unijeti lozinku svaki put kad se povežete s udaljenim serverom. To je u osnovi to. Trebali biste vidjeti ovako nešto u svom terminalu:

Vaša generirana slika izgledat će drugačije od moje. Kao i ključni otisak prsta (engl. Fingerprint).

VAŽNO!!!
Ovdje su stvorena dva ključa (PRIVATNI I JAVNI): tut_id i tut_id.pub (u vašem slučaju trebaju biti id_rsa i id_rsa.pub). JAKO pazite na datoteku nazvanu id_rsa (ovo je PRIVATNI ključ). Imajte je SAMO na svom lokalnom uređaju i NE DAJTE JE NIKADA NIKOME.
Druga datoteka, id_rsa.pub mora se učitati na vaš udaljeni server. Tako, na primjer, ako vi i vaš prijatelj radite na istom projektu na istom udaljenom serveru, obojica možete staviti svoje javne ključeve na taj udaljeni server. U sljedećem koraku naučit ćemo kako to učiniti.

2. korak – Kopiranje javnog ključa na udaljeni server

Nakon generiranja parova RSA ključeva, moramo svoj javni ključ staviti na udaljeni server.

Postoji jednostavna naredba koja će vaš javni ključ staviti izravno u datoteku authorized_keys udaljenog servera (ova datoteka čuva sve javne ključeve):

ssh-copy-id user@serverip

Ovdje umjesto serverip morate unijeti IP adresu udaljenog servera, a umjesto user, morate unijeti korisničko ime s kojim se povezujete, odnosno pokušavate ulogirati na server.

Nakon upisivanja naredbe, dočekat će vas poruka upozorenja slična ovoj:

The authenticity of host ‘Server’s IP address’ can’t be established.

RSA key fingerprint is …

Are you sure you want to continue connecting (yes/no)?

Utipkajte “yes” (bez navodnika) u naredbeni redak/terminal i pritisnite ENTER. Ova se poruka pojavljuje samo prvi put kada izvodite ovu radnju.

Pojavit će se nova poruka:

Warning: Permanently added ‘SERVER IP’ (RSA) to the list of known hosts.

user@serverip’s password:

Ovdje morate unijeti lozinku s kojom se ulogiravate na udaljeni server (u većini slučajeva korisničko ime je root). Nakon unosa lozinke, to bi u osnovi trebalo biti to. Dočekat će vas još jedna poruka:

Now try logging into the machine, with “ssh ‘user@serverip'”, and check in:

~/.ssh/authorized_keys*

to make sure we haven’t added extra keys that you weren’t expecting.

Novi javni ključ dodan je na vaš udaljeni server. Sada svaki put kad se prijavite na udaljeni poslužitelj, od vas se neće tražiti lozinka (osim ako u generacijskom postupku niste postavili zaporku za svoj RSA ključ).

Zaključak

U ovom tutorijalu smo naučili kako generirati parove SSH privatnih / javnih ključeva i koristiti te ključeve s udaljenim serverom kako bi uspostavili sigurniju konekciju nego jednostavno korištenje lozinke.

Tekst je nastao na temelju članka sa portala Hostinger te je djelomično preveden. Iz originalnog članka su izdvojene najbitnije misli kako bi budućim čitateljima skratili vrijeme čitanja i učenja. Moguće je da su neki dijelovi teksta parafrazirani te da su neke teme detaljnije ili drugačije objašnjene unutar teksta.
Referenca na originalni članak: https://www.hostinger.com/tutorials/ssh/how-to-set-up-ssh-keys Također, ovaj članak je moguće koristiti u vlastite komercijalne i nekomercijalne svrhe. Ukoliko je članak javno dostupan, obavezno je navođenje izvora uz objavu loga na početku i kraju članka.

Komentiraj