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:
PermitRootLoginJaPasswordAuthenticationJa
Gem konfigurationen, og genstart tjenesten:
sudosystemctl genstart sshd.serviceFejl 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 jaPasswordAuthenticationJa
Når du har redigeret konfigurationen, skal du gemme filen og genstarte SSH -tjenesten:
sudosystemctl genstart sshd.serviceHvis 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.