Sådan løses fejlen 'Tilladelse nægtet (offentlig nøgle)'

Sadan Loses Fejlen Tilladelse Naegtet Offentlig Nogle



SSH står for Secure Shell, som er en protokol, der etablerer sikre fjernforbindelser til servere, fjernværter og andre netværksenheder. Ved hjælp af SSH kan brugerne kommunikere sikkert ved hjælp af de offentlige og private nøglepar til at kryptere informationen mellem klienten og den eksterne vært.

Nogle gange, når du forsøger at oprette forbindelse via SSH, kan du støde på fejlen 'Tilladelse nægtet (offentlig nøgle)'. Denne fejl kan opstå, hvis du ændrede tilladelsesindstillingerne på din SSH-server, såsom oprettelse af nye brugerkonti eller installation af nye pakker. Så det forhindrer dig i at oprette forbindelse til din SSH-server.

I denne vejledning lærer vi, hvordan du retter fejlen SSH Permission Denied (offentlig nøgle). Derudover vil vi også undersøge dens årsager og mulige løsninger til at løse denne almindelige SSH-godkendelsesfejl.







Du kan også lære hvordan man genererer en SSH-nøgle på Ubuntu ved hjælp af denne vejledning.



Hvorfor opstår SSH-fejlen 'Permission Denied (Public Key)'?

Denne fejl kan opstå på grund af forskellige årsager, såsom et forkert brugernavn eller vært, manglende offentlig nøgle på serveren, ugyldige tilladelser til SSH-nøgler og -mapper og SSH-tjenestekonfiguration. De to hovedårsager til denne fejl er dog angivet i det følgende:



  1. Denne fejl kan opstå på grund af en forkert konfiguration i filen '/etc/ssh/sshd_config', der indeholder standard SSH-konfigurationer.
  2. Fejlen kan også opstå på grund af utilstrækkelige tilladelser på filen '~/.ssh/authorized_key', der er placeret på fjernsystemet. Denne fil indeholder de offentlige nøgler til klientsystemer, der har tilladelse til at etablere SSH-forbindelser med serveren.

Sådan rettes fejlen 'Tilladelse nægtet (offentlig nøgle)'.

Du kan løse fejlen 'tilladelse nægtet (offentlig nøgle)' ved at bruge de to forskellige metoder:

Løsning 1: Kontroller og aktiver adgangskodegodkendelse

En af hovedårsagerne til denne fejl er den forkerte konfiguration af filen '/etc/ssh/sshd_config'. Deaktivering af adgangskodegodkendelsesfunktionen på dit system kan forårsage denne fejl, når nogen kun bruger den SSH-nøglebaserede godkendelse, og den private nøgle er muligvis ikke til stede af en eller anden grund. Så hvis du vil have adgang til SSH-serveren ved hjælp af adgangskodegodkendelse, kan du rette fejlen 'tilladelse nægtet' ved at aktivere adgangskodegodkendelsesfunktionen i din SSH-konfigurationsfil.

For at gøre dette skal du åbne terminalen ved hjælp af 'Ctrl+Alt+t' tastaturgenvejen og udføre følgende trin på serversiden:

Trin 1: Åbn '/etc/ssh/sshd_config' konfigurationsfilen i en teksteditor. Her bruger vi standard nano tekst editor.

$ sudo nano / etc / ssh / sshd_config

Trin 2 : Find linjen 'PasswordAuthentication', og aktiver den til 'yes'. Hvis denne linje er kommenteret, skal du fjerne '#'-symbolet i starten for at fjerne kommentarer til denne linje.

Gem de tidligere ændringer ved hjælp af 'Ctrl+O' og forlad konfigurationsfilen via 'Ctrl+x'.

Trin 3 : Genindlæs eller genstart SSH-tjenesten igen på dit system ved hjælp af følgende nævnte kommando for at anvende ændringerne på en fil.

$ sudo systemctl genstart sshd

Nu, hvis du prøver at oprette forbindelse til din SSH-klient igen, bør du være i stand til at få adgang til den eksterne værtsmaskine.

$ ssh vores tålmodighed @ 10.0.2.15

Løsning 2: Skift tilladelserne på SSH Authorized_Keys
Det anbefales ikke at bruge den SSH-adgangskodebaserede godkendelsesmetode på grund af sikkerhedsproblemer. Derfor er denne metode at foretrække, da den retter denne fejl ved hjælp af den offentlige grundlæggende godkendelsestilgang. I de fleste tilfælde kommer fejlen ved at konfigurere det forkerte ejerskab og tilladelser på en '~/.ssh/authorized_keys' fil placeret på fjernserveren. For at rette fejlen ved hjælp af denne metode skal du følge de givne trin:

Trin 1 : Åbn filen '/etc/SSH/sshd_config' i en teksteditor.

$ sudo nano / etc / ssh / sshd_config

Rediger nu følgende muligheder:

PermitRootLogin-nr
Pubkey Authentication Ja

Hvis du vil bruge root-login, skal du indstille 'permitrootlogin ja'.

Trin 2 : Kommenter GSSAPI-indstillingerne ved at tilføje '#'-symbolet i starten af ​​disse linjer.

#GSSAPIAutentificering ja
#GSSAPICleanupCredentials no

Indstil også 'UsePAM ja' i konfigurationsfilen.

Trin 3 : Gem den tidligere konfiguration og genstart SSH-tjenesterne ved hjælp af denne kommando:

$ sudo systemctl genstart sshd

Tjek nu tilladelserne på din hjemmemappe:

$ ls -ld

Hvis du ikke har læse-skrive-tilladelserne (drwx——) i denne mappe, skal du indstille tilladelserne ved hjælp af 'chmod'-kommandoen:

$ sudo chmod / hjem / vores tålmodighed

Skift tilladelsen til mappen '.ssh' ved hjælp af følgende kommando:

$ chmod 0700 / hjem / dit hjem / .ssh

Mappen '.ssh' indeholder filen 'authorized_keys'. Tjek tilladelserne på denne fil.

$ ls -ld .ssh / autoriserede_nøgler

Filejeren skal have læse-skrive-tilladelser. For at ændre filtilladelserne skal du bruge følgende kommando:

$ chmod 0600 / hjem / [ brugernavn ] / .ssh / autoriserede_nøgler

Prøv nu at oprette forbindelse til SSH-fjernværten. Vi håber, at du ikke vil modtage nogen fejl på tidspunktet for tilslutningen.

Konklusion

I denne fejlfindingsvejledning undersøgte vi, hvordan man kan løse fejlen 'Tilladelse nægtet (offentlig nøgle)'. Vi diskuterede de potentielle årsager til denne fejl og anbefalede to forskellige løsninger til at løse denne fejl. Vi håber, at de tidligere instruktioner vil hjælpe dig med at rette denne fejl på dit Linux-system. Hvis du ønsker at få mere viden, kan du besøge den dokumentation her . Tak!