Si të rregulloni gabimin e mohimit të lejes SSH (çelës publik).
SSH, një akronim për Secure Shell, është një protokoll në distancë që përdoret gjerësisht për të bërë lidhje në distancë me serverët, pajisjet e rrjetit dhe hostet e tjerë të largët që ekzekutojnë shërbimin. Ai përdor një çift çelësash publik/privat për të kriptuar trafikun midis përdoruesit dhe hostit të largët.
Kur bëni një lidhje, mund të hasni gabimin ssh permission denied public key. Në këtë udhëzues, ne kërkojmë të kuptojmë shkakun e këtij gabimi dhe si ta trajtojmë atë.
Shkaku i gabimit të refuzimit të lejes SSH (publickey).
Shkaku kryesor i këtij gabimi është kryesisht një konfigurim i gabuar në skedarin /etc/ssh/sshd_config i cili është skedari i paracaktuar i konfigurimit SSH.
Një fajtor tjetër janë lejet e pamjaftueshme në skedarin authorized_keys në sistemin në distancë. Skedari përmban çelësat publikë të sistemeve të klientit të lejuar për SSH në server.
Pa shumë zhurmë, le të shohim zgjidhjet e mundshme për të zgjidhur këtë gabim.
Aktivizo vërtetimin e fjalëkalimit
Siç u theksua më herët, një nga arsyet që i atribuohet këtij gabimi është një konfigurim i gabuar i skedarit /etc/ssh/sshd_config. Një nga cilësimet e gabuara është çaktivizimi i funksionit të vërtetimit të fjalëkalimit. Kjo mund të ndodhë në rast se dikush po përdor vetëm vërtetimin e bazuar në çelësin SSH dhe për ndonjë arsye, çelësi privat nuk është i pranishëm.
Për të adresuar këtë gabim, modifikoni skedarin e paracaktuar të konfigurimit SSH.
$ sudo vim /etc/ssh/sshd_config
Gjeni atributin PasswordAuthentication
dhe vendoseni në po
siç tregohet më poshtë.
Ruani ndryshimet dhe dilni nga skedari i konfigurimit. Më pas rinisni shërbimin SSH që ndryshimet të hyjnë në fuqi.
$ sudo systemctl restart sshd
Tani duhet të jeni në gjendje të lidheni pa probleme me hostin në distancë.
Kontrollo lejen e autorizuar të çelësave të SSH
Ndonjëherë, gabimi vjen nga lejet e pasakta dhe zotërimi i skedarit ~/.ssh/authorized_keys në sistemin në distancë.
Skedari ~/.ssh/authorized_keys ndodhet në serverin në distancë. Ai përmban çelësin publik SSH nga sistemi i klientit që lidhet me të duke përdorur vërtetimin e çelësit SSH. Mos harroni se çelësi privat duhet të mbetet në sistemin e klientit dhe të mos ndahet kurrë.
Skedari çelësat e_autorizuar duhet të jetë në pronësi të përdoruesit në sistemin në distancë. Përveç kësaj, përdoruesi duhet të ketë leje leximi dhe shkrimi.
Nëse nuk është kështu, vendosni lejet për skedarin siç tregohet.
$ sudo chmod 600 ~/.ssh/authorized_keys
$ ls -l .ssh/authorized_keys
Kthehuni në sistemin e klientit, sigurohuni që Public dhe Çelësat Privatë të kenë lejet e duhura.
- Çelësi privat duhet të ketë leje leximi dhe shkrimi vetëm për zotëruesin e skedarit.
- Çelësi publik duhet të ketë leje leximi dhe shkrimi për zotëruesin e skedarit dhe leje leximi si për grupin ashtu edhe për përdoruesit e tjerë globalë.
Nëse nuk është kështu, konfiguroni lejet si më poshtë në formatin oktal.
$ sudo chmod 600 ~/.ssh/id_rsa
$ sudo chmod 644 ~/.ssh/id_rsa.pub
Mund të të pëlqejë gjithashtu:
- Si të sigurojmë dhe ngurtësojmë serverin OpenSSH
- Si të parandaloni sulmet e hyrjes me forcë SSH Brute-Force në Linux
- Përdorimi dhe konfigurimi bazë i komandës SSH në Linux
- 8 Klientët më të njohur SSH për Linux
Këto janë dy mënyrat kryesore që mund të përdorni për të zgjidhur gabimin ssh permission denied public key. A kemi lënë anash diçka tjetër? Na tregoni në seksionin e komenteve.