Hoe de SSH-toestemming geweigerd (publickey)-fout op te lossen

How Resolve Ssh Permission Denied Error



SSH-sleutels zijn een geweldige methode om SSH-sessies te verifiëren zonder dat u bij elke aanmelding een wachtwoord nodig hebt. Zoals alle technologieën zijn SSH-sleutels echter niet perfect, en u kunt fouten tegenkomen bij het gebruik ervan. Een van de meest voorkomende fouten bij het werken met SSH-sleutels is de fout 'permissie geweigerd' (publickey).

Dit artikel bespreekt de verschillende redenen voor deze fout en toont u de snelle stappen die u kunt nemen om de fout te herstellen.







Fout 1: Geautoriseerde sleutels en directorymachtigingen

Een van de oorzaken van deze fout kunnen de machtigingen en eigendom zijn die zijn geconfigureerd voor de .ssh-map en het bestand Authorized_keys.



Om dit probleem op te lossen, stelt u de .ssh-mapmachtigingen in op 700 en de machtigingen_sleutels op 6oo.



sudo chmod 700~/.sshsudo chmod 600geautoriseerde_sleutels

Fout 2: SSH onjuiste configuraties

Een andere veelvoorkomende oorzaak van de publickey-fout is een onjuiste configuratie in het sshd_config-bestand. Om dit probleem op te lossen, bewerkt u het bestand /etc/ssh/sshd_config en wijzigt u de volgende vermeldingen.

#PermitRootLogin verbieden-wachtwoord
#WachtwoordAuthenticatie ja

De bovenstaande vermeldingen moeten zijn zoals hieronder weergegeven:

PermitRootLoginJa

WachtwoordAuthenticatieJa

Sla de configuratie op en start de service opnieuw:

sudosystemctl herstart sshd.service

Fout 3: Ontbrekende sleutels

Een andere mogelijke oorzaak van de fout 'Publickey-toestemming geweigerd' kunnen ontbrekende sleutels van uw lokale computer zijn. Als u uw sleutels hebt toegevoegd aan het bestand Authorized_keys van de server, maar de bijbehorende privésleutels mist, kan dit een fout veroorzaken.

Om dit probleem op te lossen, bewerkt u het ssh-configuratiebestand, schakelt u authenticatie met openbare sleutels uit en schakelt u inloggen met een wachtwoord als volgt in:

PubkeyAuthenticatieJa

#WachtwoordAuthenticatie ja

Wijzig naar de volgende vermeldingen:

#PubkeyAuthenticatie ja
WachtwoordAuthenticatieJa

Nadat u de configuratie hebt bewerkt, slaat u het bestand op en start u de SSH-service opnieuw:

sudosystemctl herstart sshd.service

Als u zeker weet dat uw sleutels zijn gecompromitteerd, kunt u ze verwijderen uit Authorized_keys of een specifieke sleutel toevoegen aan de ingetrokken lijst in SSH.

Conclusie

Deze korte handleiding heeft u laten zien hoe u verschillende problemen kunt oplossen die de permissie geweigerd (publickey)-fout in SSH kunnen veroorzaken. Als dit probleem zich blijft voordoen, overweeg dan andere methoden voor probleemoplossing.