Kaip išspręsti „Leidimas atmestas (viešasis raktas)“ klaidą

Kaip Isspresti Leidimas Atmestas Viesasis Raktas Klaida



SSH reiškia Secure Shell, kuris yra protokolas, užmezgantis saugų nuotolinį ryšį su serveriais, nuotoliniais pagrindiniais kompiuteriais ir kitais tinklo įrenginiais. Naudodami SSH, vartotojai gali saugiai bendrauti naudodami viešųjų ir privačių raktų poras, kad užšifruotų informaciją tarp kliento ir nuotolinio pagrindinio kompiuterio.

Kartais, kai bandote prisijungti per SSH, galite susidurti su klaida „Leidimas atmestas (viešasis raktas)“. Ši klaida gali atsirasti, jei pakeitėte SSH serverio leidimo parametrus, pvz., sukūrėte naujas vartotojų paskyras arba įdiegėte naujus paketus. Taigi, tai neleidžia sėkmingai prisijungti prie SSH serverio.

Šiame vadove sužinosime, kaip ištaisyti SSH leidimo uždrausta (viešojo rakto) klaidą. Be to, mes taip pat išnagrinėsime jo priežastis ir galimus sprendimus, kaip išspręsti šią įprastą SSH autentifikavimo klaidą.







Taip pat galite išmokti kaip sugeneruoti SSH raktą Ubuntu naudodamiesi šiuo vadovu.



Kodėl atsiranda SSH klaida „Leidimas atmestas (viešasis raktas)“?

Ši klaida gali atsirasti dėl įvairių priežasčių, pvz., neteisingo vartotojo vardo arba pagrindinio kompiuterio, trūkstamo viešojo rakto serveryje, netinkamų SSH raktų ir aplankų leidimų ir SSH paslaugos konfigūracijos. Tačiau dvi pagrindinės šios klaidos priežastys yra išvardytos toliau:



  1. Ši klaida gali atsirasti dėl neteisingos konfigūracijos faile „/etc/ssh/sshd_config“, kuriame yra numatytosios SSH konfigūracijos.
  2. Klaida taip pat gali atsirasti dėl netinkamų „~/.ssh/authorized_key“ failo, esančio nuotolinėje sistemoje, teisių. Šiame faile yra viešieji klientų sistemų raktai, kuriems leidžiama užmegzti SSH ryšius su serveriu.

Kaip ištaisyti klaidą „Leidimas atmestas (viešasis raktas)“.

Klaidą „leidimas atmestas (viešasis raktas)“ galite išspręsti dviem skirtingais būdais:

1 sprendimas: patikrinkite ir įjunkite slaptažodžio autentifikavimą

Viena iš pagrindinių šios klaidos priežasčių yra neteisinga „/etc/ssh/sshd_config“ failo konfigūracija. Sistemoje išjungus slaptažodžio autentifikavimo funkciją, ši klaida gali atsirasti, kai kas nors naudoja tik SSH raktu pagrįstą autentifikavimą, o privataus rakto gali nebūti dėl kokios nors priežasties. Taigi, jei norite pasiekti SSH serverį naudodami slaptažodžio autentifikavimą, galite ištaisyti klaidą „leidimas atmestas“ įjungdami slaptažodžio autentifikavimo funkciją savo SSH konfigūracijos faile.

Norėdami tai padaryti, atidarykite terminalą naudodami spartųjį klavišą „Ctrl+Alt+t“ ir serverio pusėje atlikite šiuos veiksmus:

1 žingsnis: Atidarykite „/etc/ssh/sshd_config“ konfigūracijos failą teksto rengyklėje. Čia mes naudojame numatytąjį nano teksto rengyklę.

$ sudo nano / ir tt / ssh / sshd_config

2 žingsnis : Raskite eilutę „Password Authentication“ ir įjunkite ją į „taip“. Jei ši eilutė komentuojama, pašalinkite simbolį „#“ pradžioje, kad panaikintumėte šios eilutės komentarą.

Išsaugokite ankstesnius pakeitimus naudodami „Ctrl+O“ ir išeikite iš konfigūracijos failo naudodami „Ctrl+x“.

3 veiksmas : iš naujo įkelkite arba iš naujo paleiskite SSH paslaugą savo sistemoje naudodami šią minėtą komandą, kad pritaikytumėte failo pakeitimus.

$ sudo systemctl iš naujo paleiskite sshd

Dabar, jei vėl bandysite prisijungti prie SSH kliento, turėtumėte turėti prieigą prie nuotolinio pagrindinio kompiuterio.

$ ssh mūsų kantrybės @ 10.0.2.15

2 sprendimas: pakeiskite SSH Authorized_Keys leidimus
SSH slaptažodžiu pagrįsto autentifikavimo metodo naudoti nerekomenduojama dėl saugumo problemų. Todėl šis metodas yra geresnis, nes jis ištaiso šią klaidą naudojant viešojo pagrindinio autentifikavimo metodą. Daugeliu atvejų klaida atsiranda nustačius neteisingą nuosavybės teisę ir leidimus „~/.ssh/authorized_keys“ faile, esančiame nuotoliniame serveryje. Norėdami ištaisyti klaidą naudodami šį metodą, turite atlikti nurodytus veiksmus:

1 žingsnis : atidarykite failą „/etc/SSH/sshd_config“ teksto rengyklėje.

$ sudo nano / ir tt / ssh / sshd_config

Dabar redaguokite šias parinktis:

PermitRootLogin Nr
Pubkey Authentication taip

Jei norite naudoti šakninį prisijungimą, nustatykite „permitrootlogin taip“.

2 žingsnis : Komentuokite GSSAPI parinktis pridėdami simbolį „#“ šių eilučių pradžioje.

#GSSAPIAutentifikavimas taip
#GSSAPICleanupCredentials Nr

Be to, konfigūracijos faile nustatykite „UsePAM taip“.

3 veiksmas : Išsaugokite ankstesnę konfigūraciją ir iš naujo paleiskite SSH paslaugas naudodami šią komandą:

$ sudo systemctl iš naujo paleiskite sshd

Dabar patikrinkite savo namų aplanko leidimus:

$ ls -ld

Jei šiame aplanke neturite skaitymo ir rašymo teisių (drwx——), nustatykite leidimus naudodami komandą „chmod“:

$ sudo chmod / namai / mūsų kantrybės

Pakeiskite „.ssh“ aplanko leidimą naudodami šią komandą:

$ chmod 0700 / namai / tavo namai / .ssh

Aplanke „.ssh“ yra failas „authorized_keys“. Patikrinkite šio failo leidimus.

$ ls -ld .ssh / įgaliotieji_raktai

Failo savininkas turi turėti skaitymo ir rašymo teises. Norėdami pakeisti failo teises, naudokite šią komandą:

$ chmod 0600 / namai / [ Vartotojo vardas ] / .ssh / įgaliotieji_raktai

Dabar pabandykite prisijungti prie SSH nuotolinio kompiuterio. Tikimės, kad prisijungdami negausite jokių klaidų.

Išvada

Šiame trikčių šalinimo vadove ištyrėme, kaip išspręsti klaidą „Leidimas atmestas (viešasis raktas)“. Aptarėme galimas šios klaidos priežastis ir rekomendavome du skirtingus šios klaidos sprendimo būdus. Tikimės, kad ankstesnės instrukcijos padės ištaisyti šią klaidą jūsų Linux sistemoje. Jei norite gauti daugiau žinių, galite apsilankyti dokumentacija čia . Dėkoju!