Sådan løses SSH -tilladelse nægtet (publickey) -fejl

How Resolve Ssh Permission Denied Error



SSH -nøgler er en fantastisk metode til at godkende SSH -sessioner uden behov for en adgangskode ved hvert login. Men som alle teknologier er SSH -nøgler ikke perfekte, og du kan støde på fejl, når du bruger dem. En af de mest almindelige fejl ved arbejde med SSH -nøgler er tilladelsen nægtet (publickey) fejl.

Denne artikel vil diskutere de forskellige årsager til denne fejl og vise dig de hurtige trin, du kan tage for at rette fejlen.







Fejl 1: Autoriserede nøgler og bibliotekstilladelser

En af årsagerne til denne fejl kan være de tilladelser og ejerskab, der er konfigureret til .ssh -biblioteket og filen autorized_keys.



For at løse dette problem skal du indstille .ssh -bibliotektilladelserne til 700 og de autoriserede_nøgletilladelser til 6oo.



sudo chmod 700~/.sshsudo chmod 600autoriserede_nøgler

Fejl 2: Forkert konfiguration af SSH

En anden almindelig årsag til publickey -fejlen er en forkert konfiguration i filen sshd_config. For at løse dette problem skal du redigere filen/etc/ssh/sshd_config og ændre følgende poster.

#PermitRootLogin forbud-adgangskode
#PasswordAuthentication ja

Ovenstående poster skal være som vist herunder:

PermitRootLoginJa

PasswordAuthenticationJa

Gem konfigurationen, og genstart tjenesten:

sudosystemctl genstart sshd.service

Fejl 3: Manglende nøgler

En anden mulig årsag til den offentlige nøgletilladelse nægtet fejl kan være manglende nøgler fra din lokale maskine. Hvis du har dine nøgler føjet til serverens autoriserede_nøglefil, men mangler de tilsvarende private nøgler, kan dette forårsage en fejl.

For at løse dette problem skal du redigere ssh -konfigurationsfilen, deaktivere offentlig nøglegodkendelse og aktivere login med adgangskode som følger:

PubkeyAuthenticationJa

#PasswordAuthentication ja

Skift til følgende poster:

#PubkeyAuthentication ja
PasswordAuthenticationJa

Når du har redigeret konfigurationen, skal du gemme filen og genstarte SSH -tjenesten:

sudosystemctl genstart sshd.service

Hvis du er sikker på, at dine nøgler er blevet kompromitteret, kan du fjerne dem fra autoriserede nøgler eller tilføje en bestemt nøgle til den tilbagekaldte liste i SSH.

Konklusion

Denne hurtige vejledning viste dig, hvordan du løser forskellige problemer, der kan forårsage tilladelsen nægtet (publickey) fejl i SSH. Hvis dette problem fortsætter, skal du overveje andre fejlfindingsmetoder.