Så här löser du SSH -tillåtelse nekat (publickey) -fel

How Resolve Ssh Permission Denied Error



SSH -nycklar är en bra metod att använda för att autentisera SSH -sessioner utan att behöva ett lösenord vid varje inloggning. Men som all teknik är SSH -nycklar inte perfekta och du kan stöta på fel när du använder dem. Ett av de vanligaste felen vid arbete med SSH -nycklar är tillåtelse nekat (publickey) -fel.

Den här artikeln kommer att diskutera de olika orsakerna till detta fel och visa dig de snabba stegen du kan vidta för att åtgärda felet.







Fel 1: Auktoriserade nycklar och katalogtillstånd

En av orsakerna till detta fel kan vara behörigheter och äganderätt som konfigurerats för .ssh -katalogen och filen autorized_keys.



Lös problemet genom att ställa in .ssh -katalogbehörigheterna till 700 och de behöriga_nyckelbehörigheterna till 6oo.



sudo chmod 700~/.sshsudo chmod 600autoriserade_nycklar

Fel 2: SSH felaktiga konfigurationer

En annan vanlig orsak till publickey -felet är en felaktig konfiguration i filen sshd_config. För att lösa problemet, redigera filen/etc/ssh/sshd_config och ändra följande poster.

#PermitRootLogin prohibit-password
#PasswordAuthentication ja

Ovanstående poster ska vara enligt nedan:

PermitRootLoginja

PasswordAuthenticationja

Spara konfigurationen och starta om tjänsten:

sudosystemctl startar om sshd.service

Fel 3: Saknade nycklar

En annan möjlig orsak till att publickey -tillståndet nekas fel kan saknas nycklar från din lokala dator. Om du har dina nycklar tillagda till filen authored_keys på servern men saknar motsvarande privata nycklar kan det orsaka ett fel.

För att lösa det här problemet, redigera ssh -konfigurationsfilen, inaktivera autentisering av allmänna nycklar och aktivera inloggning av lösenord enligt följande:

PubkeyAuthenticationja

#PasswordAuthentication ja

Ändra till följande poster:

#PubkeyAuthentication ja
PasswordAuthenticationja

När du har redigerat konfigurationen, spara filen och starta om SSH -tjänsten:

sudosystemctl startar om sshd.service

Om du är säker på att dina nycklar har äventyrats kan du ta bort dem från autoriserade_nycklar eller lägga till en specifik nyckel till den återkallade listan i SSH.

Slutsats

Denna snabbguide visade dig hur du hanterar olika problem som kan orsaka tillståndet nekat (publickey) -fel i SSH. Om problemet kvarstår kan du överväga andra felsökningsmetoder.