Personal tools

Autentificare ssh folosind chei publice/private

From linux360

Revision as of 18:17, 8 December 2005 by Ingerul (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introducere

In continuare va voi descrie pasii care trebuie urmati pentru a va putea loga prin intermediul ssh-ului cu ajutorul unui set de chei publice/private.

Folosind aceasta metoda de autentificare nu trebuie sa mai introduceti parola cand va logati pe o masina care este setata sa accepte acest tip de conexiune.

Generarea setului de chei publice/private

De pe masina de pe care vreti sa va logati (ex. desktopul vostru) generati un set de chei ssh format dintr-o cheie publica si una cheie privata.

Pentru generarea acestor chei vom folosi utilitarul ssh-keygen. Acesta poate genera chei RSA pentru protocolul ssh1 si chei RSA si DSA pentru protoculul ssh2. Pentru mai multe detalii consultati manualul.

Mai jos am generat un set de chei DSA pentru protoculul ssh2:

[radu@akira ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/radu/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/radu/.ssh/id_dsa.
Your public key has been saved in /home/radu/.ssh/id_dsa.pub.
The key fingerprint is:
72:8c:1f:32:89:d5:76:63:d9:36:56:6d:bf:e8:3c:10 radu@akira

Daca ati folosit locatia predefinita, atunci in directorul ~/.ssh veti avea 2 fisiere:

[radu@akira .ssh]$ cd .ssh; ls -l
-rw-------  1 radu radu 672 Dec  8 15:54 id_dsa
-rw-r--r--  1 radu radu 600 Dec  8 15:54 id_dsa.pub

id_dsa contine cheia privata
id_dsa.pub contine cheia publica

Copierea cheii publice pe serverul remote

Pentru a ne putea conecta fara parola la un sistem remote, trebuie sa adaugam cheia publica pe care am generat-o mai devreme pe sistemul nostru in fisierul ~/.ssh/authorized_keys2 de pe serverul remote.

Mai intai copiem fisierul id_dsa.pub de pe sistemul nostru pe sistemul remote:

[radu@akira .ssh]$ scp ~/.ssh/id_dsa.pub radu@10.10.13.1:./id_dsa.pub
radu@10.10.13.1's password:
id_dsa.pub

Fisierul id_dsa.pub va fi copiat pe sistemul remote in directorul home al utilizatorului specificat.

Acum trebuie sa ne logam (specificand parola) pe sistemul remote. Apoi cream directorul ~/.ssh si fisierul ~/.ssh/authorized_keys2, daca acestea nu exista deja.

[radu@kenjiru ~]$ mkdir .ssh
[radu@kenjiru ~]$ touch .ssh/authorized_keys2
[radu@kenjiru ~]$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
[radu@kenjiru ~]$ rm -f ~/id_dsa.pub

In fisierul ~/.ssh/authorized_keys intreaga cheie publica este pe o singura linie.

Observatii

In exemplele din acest tutorial sunt prezente 2 masini:

  • akira - masina locala
  • kenjiru - masina remote

Pe ambele masini exista un utilizator radu.

Legaturi utile

http://www.sshkeychain.org/mirrors/SSH-with-Keys-HOWTO/SSH-with-Keys-HOWTO-4.html http://www.linux360.ro/forum/ssh-rsa-dsa-vt7695.html?highlight=ssh+chei+publice