Kako podesiti SSH ključeve

SSH ključevi omogućavaju sigurniji način prijave na server nego korišćenje samo lozinke, samo upareni ključevi omogućavaju pristup. Za razliku od lozinke, SSH ključeve je skoro nemoguće razbiti. Ukratko, zaštita radi na taj način što generišemo par ključeva privatni i javni. Oni sadrže dva dugačka niza karaktera. Javni postavljamo na server a privatni ostaje na klijentu, odnosno vašoj radnoj mašini. Konekcija će biti moguća samo ako se poklope kombinacije iz oba ključa

Kreiranje para RSA ključeva

Prvi korak je generisanja jednog para ključeva na klijent mašini.

ssh-keygen -t rsa

Čuvanje ključeva

Kada pokrenete komandu za generisanje ključeva, dobićete par pitanja. Sve možete preći sa ENTER

Enter file in which to save the key (/home/k/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

Ključevi će biti sačuvani u home folderu, lozinku u ne morate unositi osim ako Vam nije potrebna dodatna zaštita.

Na kraju ovog koraka dobićete ekran sličan ovome:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/k/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/k/.ssh/id_rsa.
Your public key has been saved in /home/k/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 k@itworks.rs
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Kopiranje javnog ključa

Proverite, na serveru, konfiguracju sshd-a

sudo nano /etc/ssh/sshd_config

Pronađite vrednost za PasswordAuthentication. Ukoliko ne postoji dodajte PasswordAuthentication yes na kraj konfiguracije.

reload ssh

Kada izgenerišemo par ključeva vreme je da javni ključ kopiramo na server. To ćemo uradti ako startujemo naredbu:

ssh-copy-id user@123.45.56.78

user i 123.45.56.78 ćete zameniti odgovarajućim korisnikom i IP adresom servera.

Rezultat će biti otpilike ovakav:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password: 
Now try logging into the machine, with "ssh 'user@12.34.56.78'", and check in:

  ~/.ssh/authorized_keys

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

Vrednost u /etc/ssh/sshd_config vratite postavite na: PasswordAuthentication no

Uradite ponovno učitavanje konfiguracije:

reload ssh

I prijavite se na server:

ssh user@12.34.56.78