SSH -nøkler er en flott metode å bruke for å autentisere SSH -økter uten behov for passord ved hver pålogging. Som alle teknologier er imidlertid ikke SSH -nøklene perfekte, og du kan støte på feil når du bruker dem. En av de vanligste feilene ved arbeid med SSH -nøkler er tillatelse nektet (publickey) feil.
Denne artikkelen vil diskutere de forskjellige årsakene til denne feilen og vise deg de raske trinnene du kan ta for å fikse feilen.
Feil 1: Autoriserte nøkler og katalogtillatelser
En av årsakene til denne feilen kan være tillatelsene og eierskapet som er konfigurert for .ssh -katalogen og filen autorized_keys.
For å løse dette problemet må du sette .ssh -katalogtillatelsene til 700 og autoriserte tastene til 6oo.
sudo chmod 700~/.sshsudo chmod 600autoriserte_nøkler
Feil 2: SSH feil konfigurasjoner
En annen vanlig årsak til publickey -feilen er feil konfigurasjon i sshd_config -filen. For å løse dette problemet, rediger filen/etc/ssh/sshd_config og endre følgende oppføringer.
#PermitRootLogin forbudt-passord#PasswordAuthentication ja
Ovennevnte oppføringer skal være som vist nedenfor:
PermitRootLoginjaPasswordAuthenticationja
Lagre konfigurasjonen og start tjenesten på nytt:
sudosystemctl starter sshd.service på nyttFeil 3: Mangler nøkler
En annen mulig årsak til at den offentlige nøkkeltillatelsen ble nektet feil, kan være mangel på nøkler fra din lokale maskin. Hvis du har nøklene dine lagt til filen author_keys på serveren, men mangler de tilsvarende private nøklene, kan dette forårsake en feil.
For å løse dette problemet må du redigere ssh -konfigurasjonsfilen, deaktivere offentlig nøkkelautentisering og aktivere passordpålogging som følger:
Pubkey Autentiseringja#PasswordAuthentication ja
Endre til følgende oppføringer:
#PubkeyAuthentication jaPasswordAuthenticationja
Når du har redigert konfigurasjonen, lagrer du filen og starter SSH -tjenesten på nytt:
sudosystemctl starter sshd.service på nyttHvis du er sikker på at nøklene dine er blitt kompromittert, kan du fjerne dem fra autoriserte nøkler eller legge til en bestemt nøkkel i den tilbakekalte listen i SSH.
Konklusjon
Denne hurtigguiden viste deg hvordan du kan løse ulike problemer som kan forårsake tillatelse nektet (publickey) feil i SSH. Hvis dette problemet vedvarer, bør du vurdere andre feilsøkingsmetoder.