Cara Memperbaiki Error Permission Denied (Publickey)
Diterbitkan: 2024-01-10- Mengapa Itu Penting
- Dasar-dasar Koneksi Komputer yang Aman
- Kunci Gembok: Kunci Publik
- Mengapa Kesalahan Ini Terjadi?
- Bagaimana memperbaikinya
- Tips Tambahan Jika Masih Tidak Berfungsi
- Menjaganya Berjalan Lancar
- FAQ
- Sumber Daya Lainnya
- Membungkus
Pernahkah Anda menemukan pesan “Error: Izin Ditolak (Publickey)” saat menggunakan komputer Anda? Ini adalah kesalahan umum yang biasanya muncul selama koneksi SSH, yaitu cara komputer berkomunikasi satu sama lain dengan aman.
Anggap saja seperti mencoba menggunakan kunci yang tidak sesuai dengan gemboknya. Jika Anda melihat kesalahan ini, berarti komputer Anda mengalami masalah saat membuat tautan aman dengan komputer lain, karena ada sesuatu dalam pengaturan keamanan yang tidak cocok.
Mengapa Itu Penting
Koneksi aman, seperti yang dibuat dengan SSH, seperti melakukan percakapan pribadi di ruangan yang bising. Anda tentu tidak ingin semua orang mendengarnya, terutama jika Anda berbagi rahasia atau informasi pribadi, bukan? Itu sebabnya memperbaiki kesalahan ini sangat penting.
Itu menjaga percakapan komputer Anda tetap pribadi dan aman, memastikan bahwa informasi sensitif seperti kata sandi tetap rahasia.
Dasar-dasar Koneksi Komputer yang Aman
Mari selami apa itu SSH.
SSH adalah singkatan dari Secure Shell, dan ini adalah cara khusus bagi komputer untuk berbicara satu sama lain melalui internet dengan cara yang sangat aman. Bayangkan SSH seperti terowongan pribadi khusus yang menghubungkan dua komputer.
Hanya kedua komputer tersebut yang dapat mengirim pesan satu sama lain melalui terowongan ini, menjaga percakapan mereka aman dari penyadap.
Kunci Gembok: Kunci Publik
Untuk membuat terowongan ini aman, SSH menggunakan sesuatu yang disebut 'otentikasi kunci publik'. Ibarat memiliki password khusus, namun berupa kunci. Komputer Anda memiliki kunci unik (disebut kunci publik) yang dibagikan dengan komputer lain.
Anggap saja seperti jabat tangan rahasia. Jika jabat tangan tidak cocok, koneksi tidak akan terjadi dan saat itulah Anda melihat pesan “Error: Permission Denied (Publickey)” .
Mengapa Kesalahan Ini Terjadi?
Jadi mengapa Anda melihat kesalahan ini? Ada beberapa alasan umum:
- Masalah Utama: Terkadang, kesalahan terjadi karena ada yang salah dengan pengaturan kunci khusus Anda. Mungkin kunci di komputer Anda tidak cocok dengan yang ada di komputer yang Anda coba ajak bicara. Ini seperti mencoba memasukkan pasak persegi ke dalam lubang bundar – tidak berhasil.
- Pengaturan Salah: Di lain waktu, pengaturan atau izin di komputer Anda mungkin tidak diatur dengan benar. Hal ini dapat menghentikan komputer Anda menggunakan kunci dengan benar, seperti memiliki kunci yang benar tetapi tidak dapat membuka kuncinya.
Bagaimana memperbaikinya
Sekarang setelah Anda memahami sedikit mengapa kesalahan ini terjadi, mari kita bahas cara memperbaikinya. Berikut beberapa langkah yang dapat Anda ikuti:
Verifikasi Izin Kunci SSH:
Tetapkan izin yang benar untuk kunci pribadi Anda.
chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/autorized_keys
Pastikan kunci publik Anda ada di ~/.ssh/authorized_keys
di server. Jika tidak, tambahkan menggunakan:
kucing ~/.ssh/id_rsa.pub | ssh pengguna@nama host 'kucing >> ~/.ssh/authorized_keys'.
Men-debug Koneksi SSH
Jalankan ssh -vvv user@hostname untuk mengaktifkan mode verbose, yang menyediakan diagnostik koneksi terperinci.
Periksa di server untuk mengetahui konfigurasi yang benar, terutama untuk PasswordAuthentication
dan PubkeyAuthentication
.
kucing dll/ssh/sshd_config
Solusi Tambahan:
Periksa kembali apakah Anda menggunakan nama pengguna yang benar untuk koneksi SSH.
Mulai ulang layanan SSH untuk menyegarkan koneksi.
sudo systemctl restart sshd
Verifikasi port koneksi SSH di file konfigurasi SSH. Standarnya biasanya 22 tetapi mungkin telah diubah.
Periksa log server, seperti /var/log/auth.log atau /var/log/secure, untuk detail kesalahan.
Tips Tambahan Jika Masih Tidak Berfungsi
Jika Anda sudah mencoba langkah-langkah ini dan masih melihat kesalahan, berikut beberapa hal lagi yang dapat dicoba:
- Mode Bicara: Aktifkan mode verbose di SSH. Ini seperti meminta komputer Anda untuk memberi Anda lebih banyak petunjuk tentang apa yang salah. Anda melakukan ini dengan menambahkan
-vvv
ke perintah SSH Anda, sepertissh -vvv [email protected]
. Ini akan memberi Anda lebih banyak detail tentang apa yang terjadi ketika Anda mencoba terhubung. - Masalah Agen: Terkadang, masalahnya mungkin ada pada agen SSH, alat yang menyimpan kunci Anda. Jika agen tidak bekerja dengan benar, kunci Anda tidak akan ditampilkan dengan benar. Memulai ulang agen SSH terkadang dapat membantu.
Menjaganya Berjalan Lancar
Untuk menghindari kesalahan ini di masa mendatang, berikut beberapa tip agar semuanya berfungsi dengan baik:
- Perawatan Kunci: Perlakukan kunci SSH Anda seperti Anda memperlakukan kunci rumah. Jaga keamanannya dan jangan membaginya dengan orang lain. Periksa secara teratur apakah mereka masih berfungsi sebagaimana mestinya.
- Pemeriksaan Reguler: Sama seperti Anda memeriksa mobil atau rumah secara rutin untuk mencari masalah, lakukan hal yang sama dengan pengaturan SSH Anda. Pastikan pengaturannya tidak berubah secara tiba-tiba dan kunci Anda sudah yang terbaru.
FAQ
Bagaimana cara mengatur otentikasi kunci publik di SSH?
Untuk menyiapkan autentikasi kunci publik di SSH, pertama-tama buat pasangan kunci SSH di mesin lokal Anda menggunakan perintah seperti ssh-keygen
. Ini menciptakan kunci pribadi ( id_rsa
) dan kunci publik ( id_rsa.pub
). Selanjutnya, salin kunci publik ke file ~/.ssh/authorized_keys
server menggunakan ssh-copy-id user@server_ip
. Pastikan file authorized_keys
memiliki izin yang benar (biasanya 600) untuk keamanan. Pengaturan ini memungkinkan SSH untuk menggunakan otentikasi berbasis kunci, bukan kata sandi.
Apa penyebab umum kesalahan 'Izin SSH Ditolak (Publickey)'?
- Penyebab umum kesalahan ini meliputi:
- Izin salah pada file kunci SSH. Kunci pribadi harus dapat dibaca hanya oleh pengguna (600).
- Kesalahan konfigurasi pada file konfigurasi SSH (
sshd_config
ataussh_config
). - Perangkat lunak klien atau server SSH kedaluwarsa yang mungkin tidak mendukung protokol autentikasi saat ini.
- Firewall atau perangkat lunak keamanan memblokir port atau koneksi SSH.
- Salah menyiapkan kunci publik di file
authorized_keys
, atau menggunakan nama pengguna yang salah untuk koneksi SSH.
Bagaimana cara memverifikasi apakah kunci SSH saya telah ditambahkan dengan benar ke server?
Untuk memverifikasi, masuk ke server dan periksa file ~/.ssh/authorized_keys
. Kunci publik Anda harus terdaftar di sana. Anda juga dapat menguji koneksi dengan mencoba melakukan SSH ke server. Jika tidak meminta kata sandi, kuncinya telah ditambahkan dengan benar.
Mengapa penting untuk membatasi izin pada file kunci SSH?
Membatasi izin pada file kunci SSH sangat penting untuk keamanan. Jika orang lain dapat membaca kunci pribadi Anda, mereka berpotensi mengakses server Anda. Menjaga keamanan kunci pribadi memastikan bahwa hanya Anda yang dapat menggunakannya untuk mengautentikasi.
Bisakah perubahan konfigurasi SSH server menyebabkan kesalahan 'Izin Ditolak'?
Ya, perubahan pada file konfigurasi SSH server ( etc/ssh/sshd_config
) dapat menyebabkan kesalahan seperti itu. Misalnya, jika PubkeyAuthentication
disetel ke no
, server tidak akan menerima autentikasi kunci publik, yang menyebabkan kesalahan izin ditolak.
Apa yang harus saya lakukan jika klien SSH saya sudah usang?
Jika klien SSH Anda sudah usang, klien tersebut mungkin tidak mendukung metode autentikasi yang lebih baru atau mungkin memiliki kerentanan keamanan yang belum ditambal. Penting untuk memperbarui klien SSH Anda ke versi terbaru yang tersedia untuk sistem operasi Anda.
Bagaimana firewall mempengaruhi koneksi SSH?
Firewall dapat memblokir koneksi SSH jika dikonfigurasi untuk membatasi akses ke port SSH (defaultnya adalah 22). Pastikan firewall Anda mengizinkan lalu lintas pada port yang digunakan untuk SSH untuk mencegah masalah koneksi.
Sumber Daya Lainnya
Cara Install Sendmail di Linux 2024 (Langkah demi Langkah)
Perintah Dasar Linux untuk DevOps (Buku Panduan)
Membungkus
Pada artikel ini, kami telah mempelajari apa yang menyebabkan “Error: Izin Ditolak (Publickey)” dan cara memperbaikinya. Ingat, kesalahan ini seperti kunci yang tidak pas – biasanya ini berarti ada sesuatu yang salah dengan cara kunci SSH Anda diatur atau digunakan. Dengan mengikuti langkah-langkah yang kami uraikan, Anda seharusnya dapat menyelesaikan masalah dan kembali melakukan percakapan aman dengan komputer lain.
Ludjon, salah satu pendiri Codeless, memiliki minat yang mendalam terhadap teknologi dan web. Dengan pengalaman lebih dari satu dekade dalam membangun situs web dan mengembangkan tema WordPress yang banyak digunakan, Ludjon telah membuktikan dirinya sebagai pakar ulung di bidangnya.