Autentificare ssh bazata pe chei

Read this post in English

Share on:

Autentificare ssh bazata pe chei este utila atunci cand nu vrei sa tastezi parola de fiecare data. De asemenea este utila daca se foloseste de exemplu sshfs si montarea trebuie sa se faca fara a introduce parola.

Rezultatul final ar login folosind comanda:

1$ ssh work

Server
In Ubuntu instalarea serverului se face cu:

1$ sudo apt-get install ssh

Pentru alte distributii pachetul in general se numeste tot ssh sau OpenSSH.

Pe server trebuie sa fie activata autentificarea cu chei in fisierul sshd_config:

1#/etc/ssh/sshd_config
2
3PubkeyAuthentication yes

Client
Pe statia client trebuie generata perechia de chei publica/privata:

1$ ssh-keygen -t rsa -b 1024

Unde rsa este tipul cheii iar 1024 marimea ei. Cu cat este mai mare cu atat este mai sigura.

Cheia publica trebuie copiata pe server, folosind comanda:

1$ ssh-copy-id -i ~/.ssh/id_rsa user@192.168.1.1

Optiunea -i si cheia sunt optionale, daca o singura cheie exista pe statie in directorul ~/.ssh aceasta va fi folosita.

In acest moment ar trebui sa functioneze logarea folosind urmatoarea comanda fara sa ceara parola:

1$ ssh user@192.168.1.1

Alias

Ultimul pas este constituirea unui alias, in cazul acesta “work”.

In directoul ~/.ssh trebuie facut un fisier “config”. Fisierul trebuie sa aiba drepturi 600, adica scriere si citire pentru owner.

1$ cd ~/.ssh
2$ touch config
3$ chmod 600 ~/.ssh/config

In acest fisier vor fi facute alias-urile.

1Host work
2HostName 192.168.1.1
3User user
4IdentityFile ~/.ssh/id_rsa

Acum autentificarea catre host-ul definit anterior poate fi facuta folosind comanda:

1$ ssh work

Pentru mai multe detalii legate de alias-uri:

1$ man ssh_config