Néha, amikor SSH-n keresztül próbál csatlakozni, előfordulhat, hogy az „Engedély megtagadva (nyilvános kulcs)” hibaüzenet jelenik meg. Ez a hiba akkor fordulhat elő, ha módosította az SSH-kiszolgáló engedélybeállításait, például új felhasználói fiókokat hozott létre vagy új csomagokat telepített. Tehát megakadályozza, hogy sikeresen csatlakozzon az SSH-kiszolgálóhoz.
Ebben az útmutatóban megtudjuk, hogyan javítható az SSH Permission Denied (nyilvános kulcs) hiba. Ezenkívül megvizsgáljuk annak okait és lehetséges megoldásait ennek a gyakori SSH-hitelesítési hibának a megoldására.
Tanulni is lehet hogyan lehet SSH-kulcsot generálni Ubuntun ennek az útmutatónak a segítségével.
Miért jelenik meg az SSH „Engedély megtagadva (nyilvános kulcs)” hiba?
Ez a hiba különböző okok miatt fordulhat elő, például helytelen felhasználónév vagy gazdagép, hiányzó nyilvános kulcs a kiszolgálón, érvénytelen engedélyek az SSH-kulcsokhoz és mappákhoz, valamint az SSH-szolgáltatás konfigurációja. A hiba két fő okát azonban az alábbiakban felsoroljuk:
- Ez a hiba az alapértelmezett SSH-konfigurációkat tartalmazó „/etc/ssh/sshd_config” fájl helytelen konfigurációja miatt fordulhat elő.
- A hiba a távoli rendszeren található „~/.ssh/authorized_key” fájl nem megfelelő engedélyei miatt is előfordulhat. Ez a fájl tartalmazza azon ügyfélrendszerek nyilvános kulcsait, amelyek jogosultak SSH-kapcsolatot létesíteni a szerverrel.
Az „Engedély megtagadva (nyilvános kulcs)” hiba kijavítása
Az „engedély megtagadva (nyilvános kulcs)” hibát két különböző módszerrel oldhatja meg:
1. megoldás: Ellenőrizze és engedélyezze a jelszó-hitelesítést
A hiba egyik fő oka az „/etc/ssh/sshd_config” fájl rossz konfigurációja. A jelszó-hitelesítési szolgáltatás letiltása a rendszeren akkor okozhatja ezt a hibát, ha valaki csak az SSH-kulcs alapú hitelesítést használja, és előfordulhat, hogy a privát kulcs valamilyen okból nincs jelen. Tehát, ha jelszavas hitelesítéssel szeretné elérni az SSH-kiszolgálót, kijavíthatja az „engedély megtagadva” hibát, ha engedélyezi a jelszó-hitelesítés funkciót az SSH konfigurációs fájljában.
Ehhez nyissa meg a terminált a „Ctrl+Alt+t” billentyűparancs segítségével, és hajtsa végre a következő lépéseket a szerver oldalon:
1. lépés: Nyissa meg az „/etc/ssh/sshd_config” konfigurációs fájlt egy szövegszerkesztőben. Itt az alapértelmezett nano szövegszerkesztőt használjuk.
$ sudo nano / stb / ssh / sshd_config
2. lépés : Keresse meg a „PasswordAuthentication” sort, és engedélyezze „igen”-re. Ha ez a sor megjegyzéssel van ellátva, távolítsa el a „#” szimbólumot az elején a megjegyzés törléséhez.
Mentse el az előző módosításokat a „Ctrl+O” gombbal, és lépjen ki a konfigurációs fájlból a „Ctrl+x” gombbal.
3. lépés : Töltse be vagy indítsa újra az SSH szolgáltatást a rendszeren a következő említett paranccsal a módosítások alkalmazásához egy fájlra.
$ sudo systemctl indítsa újra az sshd-t
Most, ha újra megpróbál csatlakozni az SSH-klienséhez, hozzá kell férnie a távoli gazdagéphez.
$ ssh türelmünket @ 10.0.2.15
2. megoldás: Módosítsa az SSH Authorized_Keys engedélyeit
Az SSH jelszó alapú hitelesítési módszer használata biztonsági problémák miatt nem javasolt. Ezért ez a módszer előnyösebb, mivel a nyilvános alapvető hitelesítési megközelítéssel javítja ezt a hibát. A legtöbb esetben a hiba a távoli kiszolgálón található „~/.ssh/authorized_keys” fájl rossz tulajdonjogának és engedélyeinek beállításából fakad. A hiba ezzel a módszerrel történő kijavításához kövesse az alábbi lépéseket:
1. lépés : Nyissa meg az „/etc/SSH/sshd_config” fájlt egy szövegszerkesztőben.
$ sudo nano / stb / ssh / sshd_config
Most szerkessze a következő beállításokat:
PermitRootLogin szPubkeyAuthentication Igen
Ha root bejelentkezést szeretne használni, állítsa be a „permitrootlogin yes” értéket.
2. lépés : Megjegyzés a GSSAPI opciókhoz a „#” szimbólum hozzáadásával e sorok elejére.
#GSSAPIAhitelesítés igen#GSSAPICleanupCredentials sz
Ezenkívül állítsa be a „UsePAM igen” értéket a konfigurációs fájlban.
3. lépés : Mentse el az előző konfigurációt, és indítsa újra az SSH szolgáltatásokat ezzel a paranccsal:
$ sudo systemctl indítsa újra az sshd-tMost ellenőrizze az engedélyeket a saját mappájában:
$ ls -ld
Ha nem rendelkezik írási-olvasási jogosultsággal (drwx——) ebben a mappában, állítsa be a jogosultságokat a „chmod” paranccsal:
$ sudo chmod / itthon / türelmünket
Módosítsa az „.ssh” mappa engedélyét a következő paranccsal:
$ chmod 0700 / itthon / az otthonod / .sshAz „.ssh” mappa tartalmazza az „authorized_keys” fájlt. Ellenőrizze a fájl engedélyeit.
$ ls -ld .ssh / engedélyezett_kulcsok
A fájl tulajdonosának rendelkeznie kell írási-olvasási jogosultsággal. A fájlengedélyek módosításához használja a következő parancsot:
$ chmod 0600 / itthon / [ felhasználónév ] / .ssh / engedélyezett_kulcsok
Most próbáljon meg csatlakozni az SSH távoli gazdagéphez. Reméljük, hogy nem kap hibaüzenetet a csatlakozáskor.
Következtetés
Ebben a hibaelhárítási útmutatóban megvizsgáltuk, hogyan lehet megoldani az „Engedély megtagadva (nyilvános kulcs)” hibát. Megbeszéltük a hiba lehetséges okait, és két különböző megoldást javasoltunk a hiba megoldására. Reméljük, hogy az előző utasítások segítenek a hiba kijavításában Linux rendszerén. Ha többet szeretne megtudni, látogassa meg dokumentáció itt . Kösz!