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
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.