Ako vyriešiť chybu „Povolenie odmietnuté (verejný kľúč)“

Ako Vyriesit Chybu Povolenie Odmietnute Verejny Kluc



SSH je skratka pre Secure Shell, čo je protokol, ktorý vytvára bezpečné vzdialené pripojenia k serverom, vzdialeným hostiteľom a iným sieťovým zariadeniam. Pomocou SSH môžu používatelia bezpečne komunikovať pomocou párov verejného a súkromného kľúča na šifrovanie informácií medzi klientom a vzdialeným hostiteľom.

Niekedy sa pri pokuse o pripojenie cez SSH môže vyskytnúť chyba „Povolenie odmietnuté (verejný kľúč)“. Táto chyba sa môže vyskytnúť, ak ste zmenili nastavenia povolení na serveri SSH, ako je vytváranie nových používateľských účtov alebo inštalácia nových balíkov. Takže vám to bráni v úspešnom pripojení k vášmu serveru SSH.

V tejto príručke sa naučíme, ako opraviť chybu SSH Permission Denied (verejný kľúč). Okrem toho preskúmame aj jej príčiny a možné riešenia na vyriešenie tejto bežnej chyby autentifikácie SSH.







Môžete sa tiež učiť ako vygenerovať kľúč SSH na Ubuntu pomocou tohto návodu.



Prečo sa vyskytne chyba SSH „Povolenie odmietnuté (verejný kľúč)“?

Táto chyba sa môže vyskytnúť z rôznych príčin, ako je nesprávne používateľské meno alebo hostiteľ, chýbajúci verejný kľúč na serveri, neplatné povolenia pre kľúče a priečinky SSH a konfigurácia služby SSH. Dve hlavné príčiny tejto chyby sú však uvedené nižšie:



  1. Táto chyba sa môže vyskytnúť v dôsledku nesprávnej konfigurácie v súbore „/etc/ssh/sshd_config“, ktorý obsahuje predvolené konfigurácie SSH.
  2. Chyba sa môže vyskytnúť aj v dôsledku neadekvátnych povolení k súboru „~/.ssh/authorized_key“, ktorý sa nachádza vo vzdialenom systéme. Tento súbor obsahuje verejné kľúče klientskych systémov, ktoré majú povolené vytvárať spojenia SSH so serverom.

Ako opraviť chybu „Povolenie odmietnuté (verejný kľúč)“

Chybu „povolenie odmietnuté (verejný kľúč)“ môžete vyriešiť dvoma rôznymi spôsobmi:

Riešenie 1: Skontrolujte a povoľte overenie hesla

Jedným z hlavných dôvodov tejto chyby je nesprávna konfigurácia súboru „/etc/ssh/sshd_config“. Vypnutie funkcie overenia hesla vo vašom systéme môže spôsobiť túto chybu, keď niekto používa iba overenie založené na kľúči SSH a súkromný kľúč nemusí byť z akéhokoľvek dôvodu prítomný. Ak teda chcete pristupovať k serveru SSH pomocou overenia hesla, môžete opraviť „chybu odmietnutia povolenia“ povolením funkcie overenia hesla v konfiguračnom súbore SSH.

Ak to chcete urobiť, otvorte terminál pomocou klávesovej skratky „Ctrl+Alt+t“ a na strane servera vykonajte nasledujúce kroky:

Krok 1: Otvorte konfiguračný súbor „/etc/ssh/sshd_config“ v textovom editore. Tu používame predvolený textový editor nano.

$ sudo nano / atď / ssh / sshd_config

Krok 2 : Nájdite riadok „PasswordAuthentication“ a aktivujte ho na „yes“. Ak je tento riadok zakomentovaný, odstráňte symbol „#“ na začiatku, aby ste tento riadok odkomentovali.

Uložte predchádzajúce zmeny pomocou „Ctrl+O“ a ukončite konfiguračný súbor pomocou „Ctrl+x“.

Krok 3 : Znovu načítajte alebo reštartujte službu SSH vo svojom systéme pomocou nasledujúceho príkazu na použitie zmien v súbore.

$ sudo systemctl reštartujte sshd

Ak sa teraz pokúsite znova pripojiť k svojmu klientovi SSH, mali by ste mať prístup k vzdialenému hostiteľskému počítaču.

$ ssh našu trpezlivosť @ 10.0.2.15

Riešenie 2: Zmeňte povolenia na SSH Authorized_Keys
Použitie metódy overovania založenej na hesle SSH sa neodporúča z dôvodu bezpečnostných problémov. Preto je táto metóda vhodnejšia, pretože túto chybu opravuje pomocou prístupu verejnej základnej autentifikácie. Vo väčšine prípadov je chyba spôsobená nastavením nesprávneho vlastníctva a povolení v súbore „~/.ssh/authorized_keys“ umiestnenom na vzdialenom serveri. Ak chcete opraviť chybu pomocou tejto metódy, musíte postupovať podľa uvedených krokov:

Krok 1 : Otvorte súbor „/etc/SSH/sshd_config“ v textovom editore.

$ sudo nano / atď / ssh / sshd_config

Teraz upravte nasledujúce možnosti:

PermitRootLogin č
PubkeyAuthentication Áno

Ak chcete použiť prihlásenie root, nastavte „permitrootlogin áno“.

Krok 2 : Okomentujte možnosti GSSAPI pridaním symbolu „#“ na začiatok týchto riadkov.

#GSSAPIAutentifikácia áno
#GSSAPICleanupCredentials no

V konfiguračnom súbore tiež nastavte „UsePAM yes“.

Krok 3 : Uložte predchádzajúcu konfiguráciu a reštartujte služby SSH pomocou tohto príkazu:

$ sudo systemctl reštartujte sshd

Teraz skontrolujte povolenia vo svojom domovskom priečinku:

$ ls -ld

Ak v tomto priečinku nemáte oprávnenia na čítanie a zápis (drwx——), nastavte oprávnenia pomocou príkazu „chmod“:

$ sudo chmod / Domov / našu trpezlivosť

Zmeňte oprávnenie pre priečinok „.ssh“ pomocou nasledujúceho príkazu:

$ chmod 0700 / Domov / tvoj domov / .ssh

Priečinok „.ssh“ obsahuje súbor „authorized_keys“. Skontrolujte povolenia pre tento súbor.

$ ls -ld .ssh / autorizované_kľúče

Vlastník súboru by mal mať oprávnenia na čítanie a zápis. Ak chcete zmeniť povolenia súboru, použite nasledujúci príkaz:

$ chmod 0600 / Domov / [ užívateľské meno ] / .ssh / autorizované_kľúče

Teraz sa pokúste pripojiť k vzdialenému hostiteľovi SSH. Dúfame, že v čase pripojenia sa neobjaví žiadna chyba.

Záver

V tejto príručke na riešenie problémov sme preskúmali, ako vyriešiť chybu „Povolenie odmietnuté (verejný kľúč)“. Diskutovali sme o možných príčinách tejto chyby a odporučili sme dve rôzne riešenia na vyriešenie tejto chyby. Dúfame, že predchádzajúce pokyny vám pomôžu opraviť túto chybu vo vašom systéme Linux. Ak chcete získať viac vedomostí, môžete navštíviť jeho dokumentáciu tu . Vďaka!