OpenNet articol - autentificarea pe server ssh folosind chei (ssh AUTH pam)

Traducere: Sgibnev Mihail

OpenSSH cu excepția parolelor acceptă mai multe metode de autentificare. Acesta poate fi configurat să utilizeze metode PAM (modulele de autentificare atașabile), provocare de protocol / răspuns, Kerberos, autentificare, gazdele de încredere și Exotica, cum ar fi cheile X509. Dar, cel mai popular este metoda de identitate / Pubkey.

Iată câteva dintre aspectele pozitive ale acestui tip de autentificare:
  • Nimeni nu poate conecta la server cu contul dvs., deoarece acestea trebuie să aibă o cheie privată și expresia de acces.
  • Administratorul server poate elimina chiar și parola contului, pentru a exclude discreditarea acesteia.
  • Puteți folosi ssh-agent de utilitate și va furniza informații de autentificare pentru tine.
  • Puteți seta anumite restricții, cum ar fi interzicerea port forwarding, executarea unor programe, etc.
În acest articol ne vom uita la metoda de creare și configurarea contului cheie.

Crearea de identitate / Pubkey

În punerea în aplicare inițială SSHv1 ați putea crea identitate, care a fost o pereche de RSA publice și chei private. Formatul acestor cheie SSHv2 a fost modificată, din oțel sprijinit chei RSA și DSA, iar această autentificare a fost redenumit Pubkey. În contextul acestui articol, aceste notatii vor fi folosite alternativ ca funcții identice de punere în aplicare.

Utilizați utilitarul ssh-keygen va crea cheile necesare:
Rețineți că „ssh-rsa. xahria @ mydesktop „este o singură linie, mai degrabă decât mai multe.

După cum puteți vedea, ssh-keygen creează două fișiere: id_rsa și id_rsa.pub. În prima cheie privată este stocată într-un fișier protejat de o expresie de acces pe care le introduceți atunci când creați, nimeni să nu ne îngropa în acest fișier. Al doilea fișier - cheia publica, aceasta nu conține secrete, și pot fi accesate prin orice contra-transversală. În caz de pierdere poate fi recuperat din cheia privată.

Tipuri de chei SSH

Când creați cheile ați subliniat opțiunea rsa -t. Acest parametru, vom specifica tipul de cheie pentru a crea. De asemenea, este posibil să se creeze chei rsa1, rsa sau dsa. Luați în considerare diferențele dintre ele:

Puteți schimba numele fișierului folosind opțiunea numele de fișier -f. Dacă nu specificați numele fișierului, cheile vor fi stocate în directorul $ HOME / .ssh / cu numele luate în mod implicit pentru acest tip de cheie.

Rezoluția de identitate / autentificare Pubkey pe server

Odată ce am creat cheile, trebuie să activați tipul de server de autentificare SSH. În primul rând, vom defini tipul de autentificare - Pubkey sau de identitate, setați următoarele în sshd_config:
Cifrele de mai sus sunt permise autentificării identitate / Pubkey pentru protocolul SSH versiunea 1 și 2, și verificați disponibilitatea unei chei publice în fișierul $ HOME / .ssh / authorized_keys.

Verificați disponibilitatea acestor linii în fișierul de configurare sshd_config (de obicei localizate în directorul / etc / ssh /), adăugați și reporniți serviciul, dacă este necesar.

conținutul authorized_keys fișier

fișier authorized_keys conține o listă de cuvinte cheie, câte unul pe fiecare rând. În ea prescriem cheie generată de noi în mașina lui.
Regulile cu privire la următoarele acțiuni: a copia cheia publică RSA pe server folosind scp sau orice altă metodă. Creați authorized_keys fișier în cazul în care .ssh director nu există - creează. Adăugarea cheia publică RSA în fișierul authorized_keys. Verificați, a seta permisiuni și de ieșire. Este timpul pentru a verifica afară. am navayal:
Clientul dvs. SSH va încerca mai întâi să treacă de autentificare Pubkey / Identitate, în caz de eșec - autentificare prin parolă. El va căuta trei fișiere numite, implicit, dacă nu specifică în mod clar cheie Isle și dau la server.

Alegerea chei

afișare indicație /.ssh/config espolzuemogo cheie:
Vă rugăm să rețineți că variabila de configurare este întotdeauna IdentityFile, utilizate sau Pubkey de identitate.

Securitatea expresia de acces

cheile private pot fi criptate și o frază de acces, deoarece protejează cheia de a fi compromisă. Chiar dacă setați drepturile de acces corespunzătoare, dar nu protejează expresia de acces cheie, fara probleme vor putea admira rădăcină cheie. Deci, nu te jos pe frâne acest caz.

authorized_keys2

Versiunile mai vechi ale OpenSSH folosind două chei publice diferite pentru a avea acces la server - authorized_keys pentru Identități (SSHv1) și authorized_keys2 pentru Pubkeys (SSHv2). Mai târziu, sa decis că este prost și acum folosește un singur fișier pentru toate tipurile de chei, dar fără a tasta corespunzătoare va fi verificată și authorized_keys2. Versiunile ulterioare ale OpenSSH pot opri sprijinirea authorized_keys2 toate.

Să nu se gândească la această limitare, de a crea o legătură greu de authorized_keys2 authorized_keys fișier.
Așa că ne satisface nevoile de orice versiune de OpenSSH.