Personal tools

Autentificare ssh folosind chei publice/private

From linux360

Jump to: navigation, search

Introducere

În continuare vă voi descrie paşii care trebuie urmaţi pentru a vă putea loga prin intermediul ssh-ului cu ajutorul unui set de chei publice/private.

Folosind această metodă de autentificare nu trebuie să mai introduceţi parola când vă logaţi pe o maşină care este configurată să accepte acest tip de conexiunenotă

.

Generarea setului de chei publice/private

De pe maşina de pe care vreţi să vă logaţi (ex. desktop-ul vostru) generaţi un set de chei ssh format dintr-o cheie publică şi o cheie privată.

Pentru generarea acestor chei trebuie să folosiţi utilitarul ssh-keygen. Acesta poate genera chei RSA pentru protocolul ssh1 şi chei RSA sau DSA pentru protoculul ssh2. Pentru mai multe detalii consultaţi 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

Dacă aţi folosit locaţia predefinită, atunci în directorul ~/.ssh veţi avea 2 fişiere:

[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
conţine cheia privată
id_dsa.pub
conţine cheia publică

Copierea cheii publice pe sistemul remote

Pentru a vă putea conecta fară parolă la un sistem remote, trebuie să adaugaţi cheia publică pe care aţi generat-o mai devreme pe sistemul vostru in fişierul ~/.ssh/authorized_keys2 pe sistemul remote.

Mai întâi copiaţi fişierul id_dsa.pub de pe sistemul vostru pe sistemul remote:

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

Fişierul id_dsa.pub va fi copiat pe sistemul remote în directorul home al utilizatorului specificat.

Acum trebuie să vă logaţi (specificand parola) pe sistemul remote. Odată logat crează directorul ~/.ssh şi fisierul ~/.ssh/authorized_keys2notă

, dacă acestea nu există deja.
[radu@kenjiru ~]$ mkdir ~/.ssh
[radu@kenjiru ~]$ chmod 700 ~/.ssh
[radu@kenjiru ~]$ touch .ssh/authorized_keys2
[radu@kenjiru ~]$ chmod 600 .ssh/authorized_keys2
[radu@kenjiru ~]$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys2
[radu@kenjiru ~]$ rm -f ~/id_dsa.pub

Atentie: permisiunile stabilite mai sus sunt foarte importante.

In fisierul ~/.ssh/authorized_keys2 intreaga cheie publică este pe o singură linie.

Observaţii

In exemplele din acest tutorial sunt folosite 2 maşini:

  • akira - maşină locală
  • kenjiru - maşină remote

Pe ambele maşini există un utilizator radu.

Legături utile

Note

  • (înapoi)  nu va fi necesară introducerea parolei în cazul în care cheia privată este salvată fară specificarea unei fraze cheie. Acest lucru nu este recomandat; pentru a micşora numărul de parole introduse se recomandă utilizarea programului ssh-agent.
  • (înapoi)  numele fişierului authorized_keys2 poate varia în funcţie de versiunea de SSH folosită (OpenSSH sau SSH2) sau configuraţia particulară de pe maşina în cauză. Pentru a verifica numele corect al fişierului, căutaţi în fişierul de configurare al server-ului de SSH opţiunea AuthorizedKeysFile.