GNU/Linux >> Belajar Linux >  >> Linux

Perbaiki Izin ditolak (publickey) Kesalahan SSH di Linux

Tutorial singkat ini menunjukkan kepada Anda cara memperbaiki kesalahan ssh “sign_and_send_pubkey:penandatanganan gagal:agen menolak operasi Izin ditolak (kunci publik)” di Linux.

Jika Anda mencoba menyambung ke server jauh melalui SSH, Anda mungkin mengalami kesalahan izin ditolak. Kesalahan ini dapat terjadi karena beberapa alasan. Dan perbaikan untuk masalah ini bergantung pada alasan pasti di balik kesalahan tersebut.

Dalam kasus saya, saya memiliki kunci publik dan pribadi yang disimpan di desktop Ubuntu 16.04 saya. Setelah rilis Ubuntu 18.04, saya memutuskan untuk memutakhirkan ke versi yang lebih baru ini. Saya lebih memilih penginstalan baru daripada peningkatan distribusi.

Jadi, saya membuat cadangan folder utama direktori Home saya termasuk folder .ssh yang memiliki kunci publik dan pribadi pada disk eksternal.

Setelah diinstal, saya mengaktifkan SSH di Ubuntu 18.04 dan memulihkan semuanya termasuk kunci SSH.

Sekarang ketika saya mencoba menyambung ke server jarak jauh menggunakan ssh, saya pikir itu akan langsung berfungsi karena saya memiliki kunci publik dan pribadi yang sama.

Tapi itu tidak berhasil. SSH memberi saya kesalahan ini:

sign_and_send_pubkey: signing failed: agent refused operation
[email protected]: Permission denied (publickey).

Jika Anda berada dalam situasi yang sama saat menyalin kunci SSH dari sumber lain, izinkan saya menunjukkan cara memperbaiki kesalahan SSH ini.

Perbaiki izin file pada folder ~/.ssh dan isinya

Sebagai aturan praktis, Anda dapat mengatur izin berikut pada direktori ssh dan file-filenya (kunci pribadi, kunci publik, known_hosts, file konfigurasi ssh, dll.)

Elemen Izin
direktori .ssh 700 ((drwx------)
kunci publik 644 (-rw-r--r--)
kunci pribadi 600 (-rw-------)
authorized_keys 600 (-rw-------)
known_hosts 600 (-rw-------)
konfigurasi 600 (-rw-------)

Anda mungkin tidak memiliki semua file tetapi Anda harus memiliki kunci publik dan pribadi di sini.

Sekarang mari kita lihat cara mengubah izin file pada kunci ssh dan file lainnya.

Memperbaiki kesalahan Izin ditolak (kunci publik)

Jadi masalahnya terletak pada izin file di sini. Anda lihat, ketika saya menyalin file, USB dalam format file FAT Microsoft. File ini tidak mendukung izin file UNIX/Linux.

Dan karenanya izin pada kunci ssh yang disalin diubah menjadi 777.

Untuk SSH, izin file terlalu terbuka. Tidak diperbolehkan memiliki 777 izin pada kunci publik atau pribadi. Dan inilah mengapa SSH menolak koneksi di sini.

ls -l .ssh
-rwxrwxrwx 1 abhishek abhishek 1766 Nov 12  2017 id_rsa
-rwxrwxrwx 1 abhishek abhishek  398 Nov 12  2017 id_rsa.pub
-rwxrwxrwx 1 abhishek abhishek 4214 Sep 21 21:39 known_hosts

Kunci pribadi harus memiliki izin baca dan tulis hanya untuk pengguna dan tidak ada izin lain untuk grup dan lainnya.

Anda harus mengubah izin menggunakan perintah chmod:

chmod 600 ~/.ssh/id_rsa

Demikian pula, kunci publik tidak boleh memiliki izin menulis dan mengeksekusi untuk grup dan lainnya.

chmod 644 ~/.ssh/id_rsa.pub

Sekarang setelah Anda memberikan izin yang benar, Anda dapat terhubung ke ssh lagi. Saat ini,  ini akan meminta sandi admin Anda untuk membuka kunci. Masukkan kata sandi admin Anda dan Anda akan siap melakukannya.

Ini juga mengajari saya pelajaran bahwa menyalin-menempelkan file adalah ide yang buruk dan cadangan yang tepat harus dibuat jika tidak, semua file akan memiliki izin 777 yang berbahaya. Saya harus mengubah izin file secara rekursif di seluruh direktori Home dan percayalah, itu bukan hal yang baik untuk dilakukan.

Seperti yang saya katakan sebelumnya, ada berbagai alasan untuk kesalahan ini. Untuk masalah yang terkait dengan izin file terbuka, perbaikan ini akan membantu Anda memperbaiki kesalahan Izin ditolak (kunci publik) dengan SSH. Jika Anda tertarik, Anda dapat membaca lebih lanjut tentang dasar-dasar SSH.

Beri tahu saya di bagian komentar jika perbaikan berhasil untuk Anda atau tidak. Sarankan juga pendapat Anda tentang menyalin kunci ssh di komputer lain.


Linux
  1. Cara memperbaiki kesalahan Perintah tidak ditemukan di Linux

  2. Bagaimana cara memperbaiki kesalahan Kegagalan Otentikasi Cron di Linux?

  3. pip freeze mengembalikan kesalahan:Izin ditolak:hg

  1. Cara Mengatur kunci SSH untuk login ssh "tanpa kata sandi" di Linux

  2. Bagaimana cara menafsirkan dan memperbaiki kesalahan Input/output di Linux?

  3. izin ditolak pada file authorized_key

  1. Perbaiki FirewallD tidak menjalankan kesalahan di Linux Mint 12

  2. mount error(13):Izin ditolak dengan windows share

  3. mount error 13 =Izin ditolak