Cara Menyelesaikan Ralat 'Kebenaran Ditolak (Kunci Awam)'

Cara Menyelesaikan Ralat Kebenaran Ditolak Kunci Awam



SSH bermaksud Secure Shell yang merupakan protokol yang mewujudkan sambungan jauh selamat ke pelayan, hos jauh dan peranti rangkaian lain. Menggunakan SSH, pengguna boleh berkomunikasi dengan selamat menggunakan pasangan kunci awam dan persendirian untuk menyulitkan maklumat antara pelanggan dan hos jauh.

Kadangkala, apabila anda cuba menyambung melalui SSH, anda mungkin menghadapi ralat 'Kebenaran ditolak (kunci awam)'. Ralat ini boleh berlaku jika anda menukar tetapan kebenaran pada pelayan SSH anda seperti membuat akaun pengguna baharu atau memasang pakej baharu. Jadi, ia menghalang anda daripada berjaya menyambung ke pelayan SSH anda.

Dalam panduan ini, kita akan belajar cara membetulkan ralat Kebenaran SSH Dinafikan (kunci awam). Selain itu, kami juga akan meneroka punca dan kemungkinan penyelesaiannya untuk menyelesaikan ralat pengesahan SSH biasa ini.







Anda juga boleh belajar bagaimana untuk menjana kunci SSH pada Ubuntu menggunakan panduan ini.



Mengapa Ralat 'Kebenaran Ditolak (Kunci Awam)' SSH Berlaku?

Ralat ini mungkin berlaku disebabkan oleh sebab yang berbeza seperti nama pengguna atau hos yang salah, kehilangan kunci awam pada pelayan, kebenaran tidak sah untuk kunci dan folder SSH dan konfigurasi perkhidmatan SSH. Walau bagaimanapun, dua punca utama ralat ini disenaraikan dalam yang berikut:



  1. Ralat ini mungkin berlaku disebabkan oleh konfigurasi yang salah dalam fail '/etc/ssh/sshd_config' yang mengandungi konfigurasi SSH lalai.
  2. Ralat juga boleh berlaku disebabkan oleh kebenaran yang tidak mencukupi pada fail '~/.ssh/authorized_key' yang terletak pada sistem jauh. Fail ini memegang kunci awam sistem klien yang dibenarkan untuk mewujudkan sambungan SSH dengan pelayan.

Cara Membetulkan Ralat 'Kebenaran Ditolak (Kunci Awam)'.

Anda boleh menyelesaikan ralat 'kebenaran ditolak (kunci awam)' menggunakan dua kaedah berbeza:

Penyelesaian 1: Semak dan Dayakan Pengesahan Kata Laluan

Salah satu sebab utama ralat ini ialah konfigurasi fail “/etc/ssh/sshd_config” yang salah. Melumpuhkan ciri pengesahan kata laluan pada sistem anda boleh menyebabkan ralat ini apabila seseorang hanya menggunakan pengesahan berasaskan kunci SSH, dan kunci peribadi mungkin tidak hadir atas sebarang sebab. Jadi, jika anda ingin mengakses pelayan SSH menggunakan pengesahan kata laluan, anda boleh membetulkan 'ralat ditolak kebenaran' dengan mendayakan ciri pengesahan kata laluan dalam fail konfigurasi SSH anda.

Untuk melakukan ini, buka terminal menggunakan pintasan papan kekunci 'Ctrl+Alt+t' dan lakukan langkah berikut pada bahagian pelayan:

Langkah 1: Buka fail konfigurasi '/etc/ssh/sshd_config' dalam editor teks. Di sini, kami menggunakan editor teks nano lalai.

$ sudo nano / dan lain-lain / ssh / sshd_config

Langkah 2 : Cari baris “PasswordAuthentication” dan dayakannya kepada “ya”. Jika baris ini diulas, alih keluar simbol '#' pada permulaan untuk menyahkomen baris ini.

Simpan perubahan sebelumnya menggunakan 'Ctrl+O' dan keluar dari fail konfigurasi melalui 'Ctrl+x'.

Langkah 3 : Muat semula atau mulakan semula perkhidmatan SSH sekali lagi pada sistem anda menggunakan arahan yang dinyatakan berikut untuk menggunakan perubahan pada fail.

$ sudo systemctl mulakan semula sshd

Sekarang, jika anda cuba menyambung dengan klien SSH anda sekali lagi, anda sepatutnya boleh mengakses mesin hos jauh.

$ ssh kesabaran kita @ 10.0.2.15

Penyelesaian 2: Tukar Kebenaran pada SSH Authorized_Keys
Menggunakan kaedah pengesahan berasaskan kata laluan SSH tidak disyorkan kerana isu keselamatan. Oleh itu, kaedah ini adalah lebih baik kerana ia membetulkan ralat ini menggunakan pendekatan pengesahan asas awam. Dalam kebanyakan kes, ralat datang dengan menyediakan pemilikan dan kebenaran yang salah pada fail '~/.ssh/authorized_keys' yang terletak pada pelayan jauh. Untuk membetulkan ralat menggunakan kaedah ini, anda perlu mengikuti langkah-langkah yang diberikan:

Langkah 1 : Buka fail “/etc/SSH/sshd_config” dalam penyunting teks.

$ sudo nano / dan lain-lain / ssh / sshd_config

Sekarang, edit pilihan berikut:

PermitRootLogin no
Pengesahan Pubkey ya

Jika anda ingin menggunakan log masuk akar, tetapkan 'permitrootlogin ya'.

Langkah 2 : Komen pada pilihan GSSAPI dengan menambahkan simbol “#” pada permulaan baris ini.

#GSSAPIAuthentication ya
#GSSAPICleanupCredentials no

Juga, tetapkan 'UsePAM ya' dalam fail konfigurasi.

Langkah 3 : Simpan konfigurasi sebelumnya dan mulakan semula perkhidmatan SSH menggunakan arahan ini:

$ sudo systemctl mulakan semula sshd

Sekarang, semak kebenaran pada folder rumah anda:

$ ls -ld

Jika anda tidak mempunyai kebenaran baca-tulis (drwx——) pada folder ini, tetapkan kebenaran menggunakan arahan 'chmod':

$ sudo chmod / rumah / kesabaran kita

Tukar kebenaran pada folder '.ssh' menggunakan arahan berikut:

$ chmod 0700 / rumah / rumah anda / .ssh

Folder “.ssh” mengandungi fail “authorized_keys”. Semak kebenaran pada fail ini.

$ ls -ld .ssh / kunci_benar

Pemilik fail harus mempunyai kebenaran baca-tulis. Untuk menukar kebenaran fail, gunakan arahan berikut:

$ chmod 0600 / rumah / [ nama pengguna ] / .ssh / kunci_benar

Sekarang, cuba sambungkan dengan hos jauh SSH. Kami berharap anda tidak akan menerima ralat pada masa sambungan.

Kesimpulan

Dalam panduan penyelesaian masalah ini, kami meneroka cara menyelesaikan ralat 'Kebenaran Ditolak (Kunci Awam)'. Kami membincangkan kemungkinan punca ralat ini dan mengesyorkan dua penyelesaian berbeza untuk menyelesaikan ralat ini. Kami berharap arahan sebelumnya akan membantu anda membetulkan ralat ini pada sistem Linux anda. Jika anda ingin mendapatkan lebih banyak ilmu, anda boleh melawatnya dokumentasi di sini . Terima kasih!