Unde sunt stocate cheile SSH în Linux – și cum să le gestionăm în siguranță
SSH (Secure Shell) este un instrument de bază în ecosistemul Linux, folosit pentru accesul de la distanță, transferuri de fișiere securizate, automatizare și gestionarea serverelor. Deși majoritatea utilizatorilor interacționează cu SSH prin comanda ssh, în spate SSH se bazează pe perechi de chei publice și private pentru autentificare — în special în medii în care autentificările fără parolă, automatizarea și practicile DevOps sunt esențiale.
Locația implicită de stocare a cheilor SSH
Cel mai comun loc în care sunt stocate cheile SSH este:
Aceasta se referă la directorul .ssh din folderul home al utilizatorului, de exemplu:
Fișiere comune în acest director:
| Fișier | Scop |
|---|---|
| id_rsa | Cheia privată implicită (RSA) |
| id_rsa.pub | Cheia publică corespunzătoare |
| id_ecdsa, id_ed25519 | Alte chei private (ECDSA, Ed25519) |
| id_*.pub | Cheile publice corespunzătoare |
| authorized_keys | Stochează cheile publice permise să se conecteze |
| known_hosts | Stochează amprentele serverului (verificarea cheii gazdei) |
| config | Configurarea clientului SSH specific utilizatorului |
Dacă generați chei cu ssh-keygen, acestea sunt stocate aici în mod implicit, cu excepția cazului în care este specificat un alt path.
Locațiile cheilor SSH la nivel de sistem
Cheile gazdei SSH Server (sshd)
Chei la nivel de sistem utilizate de demonul SSH (pe partea serverului):
Fișiere tipice:
| Fișier | Scop |
|---|---|
| ssh_host_rsa_key | Cheia privată a gazdei (RSA) |
| ssh_host_rsa_key.pub | Cheia publică a gazdei |
| ssh_host_ecdsa_key | Cheia privată ECDSA a gazdei |
| ssh_host_ed25519_key | Cheia privată Ed25519 a gazdei |
Aceste chei sunt folosite pentru a identifica serverul pentru clienți, nu pentru a autentifica utilizatorii.
Demonul SSH (sshd) prezintă cheia publică a gazdei în timpul conexiunii; clienții o compară cu ~/.ssh/known_hosts.
Locații personalizate pentru chei
Puteți genera sau utiliza chei SSH din orice locație, dar trebuie să specificați calea:
De asemenea, puteți configura mai multe chei prin ~/.ssh/config:
Unde sunt folosite cheile?
Ieșire (Partea clientului)
Clienții SSH caută cheile private în ~/.ssh/ în mod implicit. Acestea sunt folosite pentru a iniția autentificarea atunci când se conectează la un server la distanță.
ssh, scp, rsync peste SSH, git (când se folosește SSH remote)
📌 Intrare (Partea serverului)
Serverul caută cheile publice în:
Acest fișier listează care chei publice sunt permise să se conecteze la acel cont de utilizator specific.
Dacă user_a încearcă să se conecteze prin SSH la un server ca user_b, cheia lor publică trebuie să fie prezentă în ~user_b/.ssh/authorized_keys.
Permisiuni — Critice pentru Securitate
Permisiuni corecte:
Permisiunile incorecte pot cauza ca SSH să ignore cheile dvs. sau să respingă complet autentificările.
Gestionarea în siguranță a cheilor SSH
Utilizați o frază secretă atunci când generați chei private:
Utilizați ssh-agent pentru a stoca cheile deblocate în memorie:
- Rotiti cheile regulat
- Eliminați cheile neutilizate sau orfane din “authorized_keys”
- Utilizați chei separate pentru fiecare gazdă/proiect
- Evitați utilizarea cheilor root în medii diferite
Auditare și depanare
Pentru a vedea ce cheie este utilizată în timpul conexiunii SSH:
Aceasta va imprima jurnale detaliate, inclusiv care fișier de identitate a fost încercat.
Pentru a lista cheile încărcate în agentul dvs. curent:
Pentru a elimina o cheie:
Concluzie
Înțelegerea locului în care sunt stocate cheile SSH în Linux — și cum să le gestionați în siguranță — este crucială pentru administratorii de sistem, dezvoltatori, ingineri DevOps și oricine lucrează în medii cu mai multe gazde sau utilizatori.
Prin cunoașterea diferenței dintre cheile utilizatorului, cheile gazdei și cheile autorizate, puteți:
- Depana problemele de autentificare
- Configura fluxuri de lucru automate securizate
- Gestiona accesul între echipe și sisteme
Pe sistemele de producție sau platformele cloud (de exemplu, VPS sau servere dedicate), gestionarea greșită a cheilor SSH poate duce la vulnerabilități grave. Asigurați-vă că urmați cele mai bune practici și auditați accesul regulat.
