Cum se rezolvă eroarea „Permisiune refuzată (cheie publică)”.

Cum Se Rezolva Eroarea Permisiune Refuzata Cheie Publica



SSH înseamnă Secure Shell, care este un protocol care stabilește conexiuni securizate la distanță la servere, gazde la distanță și alte dispozitive de rețea. Folosind SSH, utilizatorii pot comunica în siguranță folosind perechile de chei publice și private pentru a cripta informațiile dintre client și gazda de la distanță.

Uneori, când încercați să vă conectați prin SSH, este posibil să întâlniți eroarea „Permisiune refuzată (cheie publică)”. Această eroare poate apărea dacă ați modificat setările de permisiuni pe serverul dvs. SSH, cum ar fi crearea de noi conturi de utilizator sau instalarea de noi pachete. Deci, vă împiedică să vă conectați cu succes la serverul SSH.

În acest ghid, vom învăța cum să remediați eroarea SSH Permission Denied (cheie publică). În plus, vom explora, de asemenea, cauzele și posibilele soluții pentru a rezolva această eroare comună de autentificare SSH.







De asemenea, puteți învăța cum se generează o cheie SSH pe Ubuntu folosind acest ghid.



De ce apare eroarea SSH „Permisiune refuzată (cheie publică)”?

Această eroare poate apărea din cauze diferite, cum ar fi un nume de utilizator sau gazdă incorecte, cheie publică lipsă de pe server, permisiuni nevalide pentru cheile și folderele SSH și configurarea serviciului SSH. Cu toate acestea, cele două cauze principale ale acestei erori sunt enumerate în următoarele:



  1. Această eroare poate apărea din cauza unei configurații incorecte în fișierul „/etc/ssh/sshd_config” care conține configurațiile SSH implicite.
  2. Eroarea poate apărea și din cauza permisiunilor inadecvate pentru fișierul „~/.ssh/authorized_key” care se află pe sistemul de la distanță. Acest fișier conține cheile publice ale sistemelor client cărora li se permite să stabilească conexiuni SSH cu serverul.

Cum să remediați eroarea „Permisiune refuzată (cheie publică)”.

Puteți rezolva eroarea „permisiune refuzată (cheie publică)” folosind două metode diferite:

Soluția 1: verificați și activați autentificarea cu parolă

Unul dintre principalele motive pentru această eroare este configurația greșită a fișierului „/etc/ssh/sshd_config”. Dezactivarea funcției de autentificare cu parolă de pe sistemul dvs. poate cauza această eroare atunci când cineva utilizează numai autentificarea bazată pe cheie SSH și este posibil ca cheia privată să nu fie prezentă din orice motiv. Așadar, dacă doriți să accesați serverul SSH utilizând autentificarea cu parolă, puteți remedia „eroarele de permisiune refuzată” activând caracteristica de autentificare cu parolă în fișierul de configurare SSH.

Pentru a face acest lucru, deschideți terminalul utilizând comanda rapidă de la tastatură „Ctrl+Alt+t” și efectuați următorii pași pe partea serverului:

Pasul 1: Deschideți fișierul de configurare „/etc/ssh/sshd_config” într-un editor de text. Aici, folosim editorul de text nano implicit.

$ sudo nano / etc / ssh / sshd_config

Pasul 2 : Găsiți linia „PasswordAuthentication” și activați-o să fie „da”. Dacă această linie este comentată, eliminați simbolul „#” de la început pentru a decomenta această linie.

Salvați modificările anterioare folosind „Ctrl+O” și ieșiți din fișierul de configurare prin „Ctrl+x”.

Pasul 3 : Reîncărcați sau reporniți serviciul SSH din nou pe sistemul dvs. utilizând următoarea comandă menționată pentru a aplica modificările unui fișier.

$ sudo systemctl reporniți sshd

Acum, dacă încercați să vă conectați din nou cu clientul SSH, ar trebui să puteți accesa mașina gazdă la distanță.

$ ssh răbdarea noastră @ 10.0.2.15

Soluția 2: Modificați permisiunile pe SSH Authorized_Keys
Utilizarea metodei de autentificare bazată pe parolă SSH nu este recomandată din cauza problemelor de securitate. Prin urmare, această metodă este de preferat, deoarece remediază această eroare utilizând abordarea publică fundamentală de autentificare. În cele mai multe cazuri, eroarea vine din configurarea dreptului de proprietate și a permisiunilor greșite pe un fișier „~/.ssh/authorized_keys” situat pe serverul de la distanță. Pentru a remedia eroarea folosind această metodă, trebuie să urmați pașii dați:

Pasul 1 : Deschideți fișierul „/etc/SSH/sshd_config” într-un editor de text.

$ sudo nano / etc / ssh / sshd_config

Acum, editați următoarele opțiuni:

PermitRootLogin nr
PubkeyAuthentication da

Dacă doriți să utilizați autentificarea rădăcină, setați „permitrootlogin da”.

Pasul 2 : Comentați opțiunile GSSAPI adăugând simbolul „#” la începutul acestor rânduri.

#GSSAPIAutentificare da
#GSSAPICleanupCredentials nr

De asemenea, setați „UsePAM da” în fișierul de configurare.

Pasul 3 : Salvați configurația anterioară și reporniți serviciile SSH folosind această comandă:

$ sudo systemctl reporniți sshd

Acum, verificați permisiunile din folderul dvs. de acasă:

$ ls -ld

Dacă nu aveți permisiunile de citire-scriere (drwx——) în acest folder, setați permisiunile folosind comanda „chmod”:

$ sudo chmod / Acasă / răbdarea noastră

Schimbați permisiunea pentru folderul „.ssh” folosind următoarea comandă:

$ chmod 0700 / Acasă / casa ta / .ssh

Dosarul „.ssh” conține fișierul „authorized_keys”. Verificați permisiunile pentru acest fișier.

$ ls -ld .ssh / chei_autorizate

Proprietarul fișierului ar trebui să aibă permisiunile de citire-scriere. Pentru a modifica permisiunile pentru fișiere, utilizați următoarea comandă:

$ chmod 0600 / Acasă / [ nume de utilizator ] / .ssh / chei_autorizate

Acum, încercați să vă conectați cu gazda la distanță SSH. Sperăm că nu veți primi nicio eroare în momentul conectării.

Concluzie

În acest ghid de depanare, am explorat cum să rezolvăm eroarea „Permisiune refuzată (cheie publică)”. Am discutat despre cauzele potențiale ale acestei erori și am recomandat două soluții diferite pentru a rezolva această eroare. Sperăm că instrucțiunile anterioare vă vor ajuta să remediați această eroare pe sistemul dumneavoastră Linux. Dacă doriți să obțineți mai multe cunoștințe, îl puteți vizita documentatie aici . Mulțumiri!