A nyilvános SSH-kulcsok megnehezítik? Próbálja ki az alábbi megoldások egyikét.

Az SSH hasznos eszköz a távoli gépekhez való kapcsolódáshoz, de Linuxon előfordulhat, hogy „Engedély megtagadva (nyilvános kulcs)” hibaüzenetet kaphat a nyilvános kulcsával kapcsolatban. Szerencsére van néhány egyszerű javítás, amellyel megpróbálhatja elhárítani a hibát.

Mi az a nyilvános kulcs?

Amikor létrehoz egy kulcspárt az SSH számára Linuxon, egy nyilvános kulcsot és egy privát kulcsot kap. A privát kulcs szigorúan őrzött titokként nálad marad, de a nyilvános kulcsot továbbítják a távoli szerverekhez, hogy jelszó nélkül jelentkezhessen be. Csatlakozáskor a helyi SSH-kliens a nyilvános kulcsot a privát kulccsal egyezteti.

Ennek a módszernek az az előnye, hogy csak a nyilvános kulcsot kell kiadnia. Mindaddig, amíg magánkulcsát titokban tartja, ez biztonságban fogja magát tartani arra az esetre, ha a nyilvános kulcsa veszélybe kerülne. A nyilvános kulcs önmagában használhatatlan lesz.

Az OpenSSH, a nyílt forráskódú világ legszélesebb körben használt SSH-kliense és -kiszolgálója megköveteli a tetszőleges fájlt nyilvános kulcsokat a távoli gépen (.ssh/authorized_keys" a saját könyvtárában), hogy rendelkezzen bizonyos jogosultságokkal. Ez nem fog működni, ha az írási engedélyek más felhasználók számára vannak beállítva, ami "writable-writable" néven ismert. Mivel a könyvtár neve ponttal (.) kezdődik, nem jelenik meg egyetlen ls-listában sem, hacsak nem használja a parancs

instagram viewer
ls -A.

Az engedélyek módosulhatnak, ha a fájlt egy másik számítógépről másolták át, vagy ha Ön hozta létre. Szerencsére ez könnyen javítható.

Ellenőrizze nyilvános kulcsának jogosultságait

Az authorised_keys fájl egyszerűen egy egyszerű szöveges fájl, amely tartalmazza az összes nyilvános kulcsot azon ügyfelektől, amelyekkel bejelentkezni szeretne fiókjába a távoli gépen. Az engedélyek megtekintéséhez használja az ls parancsot -l opcióval:

ls -l ~/.ssh/authorized_keys

Ez megjeleníti a tulajdonos, a csoport és a többi felhasználó jogosultsági beállításait. Ügyeljen a karakterlánc utolsó hat betűjére. Ha „w” betűt lát bennük, az azt jelenti, hogy a csoport vagy mások írhatnak rá, ami bizonytalanná teszi.

Azt szeretné, ha ezt a fájlt Ön írhatja, de a csoport vagy mások nem. Ahhoz, hogy hozzáférést biztosítson a megfelelő felhasználóknak, a jogosultságokat a chmod-al módosíthatod.

Két módja van: numerikusan és szimbolikusan.

A numerikus út rövidebb, de meg kell jegyezni az oktális engedélyszámokat:

chmod 700 ~/.ssh/authorized_keys

A szimbolikus módszer inkább mnemonikus:

chmod go-w ~/.ssh/authorized_keys

Kulcsok biztonságos másolása az ssh-agent használatával

Manuálisan másolhat és illeszthet be bármilyen nyilvános kulcsot a számítógépéről a ~/.ssh/.authorized_keys fájlt, de az ssh-agent program használata csökkenti az engedélyekkel kapcsolatos hibák esélyét.

Az ssh-agent elindításához használja ezt a parancsot:

eval "$(ssh-agent-s)"

Ha ssh-agent használatával szeretne bejelentkezni egy távoli kiszolgálóra, használja az -A kapcsolót az ssh-val

ssh -A [email protected]

Ellenőrizze a távoli kiszolgáló sshd beállításait

Ha ezen erőfeszítések bármelyike ​​sikertelen, előfordulhat, hogy néhány konfigurációs módosítást kell végrehajtania a távoli gép sshd-kiszolgálóján, ha root hozzáféréssel rendelkezik. Ha nem, akkor valószínűleg kapcsolatba kell lépnie a rendszergazdával, hogy segítsen megoldani az SSH-kapcsolati problémákat. Ez a végső megoldás, mert kevésbé biztonságossá teheti a rendszert.

Az sshd rendszerszintű konfigurációs fájlja /etc/ssh/sshd_config. Mivel a root tulajdonosa, a szerkesztéséhez sudo-t kell használnia. Például a Vimmel való szerkesztéshez:

sudo vim /etc/ssh/sshd_config

Ha engedélyezni szeretné, hogy az sshd még akkor is bejelentkezhessen, ha az Author_keys fájl világszerte írható, állítsa a "StrictModes" beállítást "no" értékre ebben a fájlban.

Mentse el és indítsa újra az SSH szervert:

sudo systemctl restart sshd.service

Most kijavíthatja az SSH nyilvános kulcsú engedélyekkel kapcsolatos hibákat

Hibákba ütközhet a távoli rendszerek nyilvános SSH-kulcsaival kapcsolatban. Szerencsére legtöbbször csak ellenőrizni kell és be kell állítania a fájljogosultságokat, hogy senki más ne lássa a kulcsát. Az ssh-agent is használhatja a megbízhatóbb kapcsolatok érdekében. Végső megoldásként kevésbé szigorúvá teheti az SSH-kiszolgálót.