Včasih, ko se poskušate povezati prek SSH, lahko naletite na napako »Dovoljenje zavrnjeno (javni ključ)«. Do te napake lahko pride, če ste spremenili nastavitve dovoljenj na strežniku SSH, kot je ustvarjanje novih uporabniških računov ali namestitev novih paketov. Torej vam preprečuje uspešno povezavo s strežnikom SSH.
V tem priročniku se bomo naučili, kako odpraviti napako SSH Permission Denied (javni ključ). Poleg tega bomo raziskali tudi njene vzroke in možne rešitve za rešitev te pogoste napake pri preverjanju pristnosti SSH.
Lahko se tudi naučiš kako ustvariti ključ SSH v Ubuntuju uporabo tega vodnika.
Zakaj se SSH pojavi napaka »Dovoljenje zavrnjeno (javni ključ)«?
Do te napake lahko pride zaradi različnih vzrokov, kot so nepravilno uporabniško ime ali gostitelj, manjkajoči javni ključ na strežniku, neveljavna dovoljenja za ključe in mape SSH ter konfiguracija storitve SSH. Vendar sta dva glavna vzroka za to napako navedena v nadaljevanju:
- Do te napake lahko pride zaradi nepravilne konfiguracije v datoteki »/etc/ssh/sshd_config«, ki vsebuje privzete konfiguracije SSH.
- Do napake lahko pride tudi zaradi neustreznih dovoljenj za datoteko »~/.ssh/authorized_key«, ki se nahaja v oddaljenem sistemu. Ta datoteka vsebuje javne ključe odjemalskih sistemov, ki jim je dovoljeno vzpostaviti povezave SSH s strežnikom.
Kako odpraviti napako »Dovoljenje zavrnjeno (javni ključ)«.
Napako »dovoljenje zavrnjeno (javni ključ)« lahko razrešite na dva različna načina:
1. rešitev: Preverite in omogočite preverjanje pristnosti gesla
Eden glavnih razlogov za to napako je napačna konfiguracija datoteke »/etc/ssh/sshd_config«. Onemogočanje funkcije preverjanja pristnosti z geslom v vašem sistemu lahko povzroči to napako, ko nekdo uporablja samo preverjanje pristnosti na podlagi ključa SSH in zasebni ključ morda ni prisoten iz katerega koli razloga. Torej, če želite dostopati do strežnika SSH s preverjanjem pristnosti z geslom, lahko popravite napako »dovoljenje zavrnjeno« tako, da omogočite funkcijo preverjanja pristnosti z geslom v konfiguracijski datoteki SSH.
Če želite to narediti, odprite terminal z bližnjico na tipkovnici »Ctrl+Alt+t« in na strani strežnika izvedite naslednje korake:
Korak 1: Odprite konfiguracijsko datoteko “/etc/ssh/sshd_config” v urejevalniku besedil. Tukaj uporabljamo privzeti nano urejevalnik besedila.
$ sudo nano / itd / ssh / sshd_config
2. korak : Poiščite vrstico »PasswordAuthentication« in jo omogočite na »yes«. Če je ta vrstica komentirana, odstranite simbol »#« na začetku, da odkomentirate to vrstico.
Shranite prejšnje spremembe z uporabo »Ctrl+O« in zapustite konfiguracijsko datoteko prek »Ctrl+x«.
3. korak : Znova naložite ali znova zaženite storitev SSH v vašem sistemu z uporabo naslednjega omenjenega ukaza za uporabo sprememb v datoteki.
$ sudo systemctl znova zaženite sshd
Zdaj, če se poskusite znova povezati s svojim odjemalcem SSH, bi morali imeti dostop do oddaljenega gostiteljskega računalnika.
$ ssh naše potrpljenje @ 10.0.2.15
2. rešitev: spremenite dovoljenja za SSH Authorized_Keys
Uporaba metode preverjanja pristnosti na podlagi gesla SSH ni priporočljiva zaradi varnostnih težav. Zato je ta metoda boljša, saj popravi to napako s pristopom javnega temeljnega preverjanja pristnosti. V večini primerov do napake pride zaradi nastavitve napačnega lastništva in dovoljenj za datoteko »~/.ssh/authorized_keys«, ki se nahaja na oddaljenem strežniku. Če želite odpraviti napako s to metodo, morate slediti danim korakom:
Korak 1 : Odprite datoteko “/etc/SSH/sshd_config” v urejevalniku besedil.
$ sudo nano / itd / ssh / sshd_config
Zdaj uredite naslednje možnosti:
DovoljenjeRootLogin štPubkeyAuthentication ja
Če želite uporabiti root prijavo, nastavite 'permitrootlogin yes'.
2. korak : Komentirajte možnosti GSSAPI z dodajanjem simbola »#« na začetku teh vrstic.
#GSSAPIAavtentikacija da#GSSAPICleanupPoverilnice št
V konfiguracijski datoteki nastavite tudi »UsePAM yes«.
3. korak : Shranite prejšnjo konfiguracijo in znova zaženite storitve SSH s tem ukazom:
$ sudo systemctl znova zaženite sshdZdaj preverite dovoljenja za domačo mapo:
$ ls -ld
Če v tej mapi nimate dovoljenj za branje in pisanje (drwx——), nastavite dovoljenja z ukazom »chmod«:
$ sudo chmod / domov / naše potrpljenje
Spremenite dovoljenje za mapo ».ssh« z naslednjim ukazom:
$ chmod 0700 / domov / vaš dom / .sshMapa ».ssh« vsebuje datoteko »authorized_keys«. Preverite dovoljenja za to datoteko.
$ ls -ld .ssh / pooblaščeni_ključi
Lastnik datoteke mora imeti dovoljenja za branje in pisanje. Če želite spremeniti dovoljenja za datoteke, uporabite naslednji ukaz:
$ chmod 0600 / domov / [ uporabniško ime ] / .ssh / pooblaščeni_ključi
Zdaj se poskusite povezati z oddaljenim gostiteljem SSH. Upamo, da ob vzpostavitvi povezave ne boste prejeli napake.
Zaključek
V tem vodniku za odpravljanje težav smo raziskali, kako odpraviti napako »Dovoljenje zavrnjeno (javni ključ)«. Razpravljali smo o morebitnih vzrokih za to napako in priporočili dve različni rešitvi za rešitev te napake. Upamo, da vam bodo prejšnja navodila pomagala odpraviti to napako v vašem sistemu Linux. Če želite pridobiti več znanja, ga lahko obiščete dokumentacijo tukaj . hvala