Pendahuluan
Kesalahan Izin SSH ditolak muncul setelah pengaturan terkait izin diubah di server SSH. Skenario biasa mencakup instalasi paket baru atau pembuatan pengguna baru.
Dalam tutorial ini, Anda akan mempelajari cara memecahkan masalah kesalahan Izin SSH ditolak dan menyambungkan kembali ke server SSH Anda.
Prasyarat
- Klien SSH di mesin lokal dan server SSH di sistem jarak jauh
- Akun pengguna untuk mengakses server jarak jauh (untuk login berbasis sandi)
- Akun pengguna dengan sudo atau akar hak istimewa
Apa yang Menyebabkan Izin SSH Ditolak (publickey,gssapi-keyex,gssapi-with-mic)?
Kesalahan Izin SSH ditolak muncul saat mencoba SSH ke server:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
Mengikuti pernyataan Izin ditolak, braket berisi metode otentikasi yang dicoba yang gagal pada inisiasi koneksi. Kesalahan menunjukkan bahwa kunci publik adalah masalahnya, yang menyesatkan.
Salah satu alasan kesalahan mungkin sshd_config
, file yang berisi konfigurasi server SSH. Kemungkinan lainnya adalah authorized_keys
file memiliki izin yang tidak memadai. File ini berisi daftar kunci publik untuk klien yang diizinkan untuk SSH ke server. Akibatnya, ketidakmampuan sistem untuk membaca dari file menyebabkan kesalahan Izin ditolak.
Cara memperbaiki Izin SSH ditolak
Kedua solusi berisi langkah-langkah yang perlu Anda lakukan di sisi server. Mulailah dengan membuka terminal di server Anda dan lanjutkan dengan salah satu solusi di bawah ini.
Solusi 1:Aktifkan Otentikasi Kata Sandi
Jika Anda ingin menggunakan password untuk mengakses server SSH, solusi untuk memperbaiki kesalahan Permission ditolak adalah dengan mengaktifkan login kata sandi di sshd_config
berkas.
Untuk melakukan ini, buka file di editor teks. Contoh ini menggunakan editor nano:
sudo nano /etc/ssh/sshd_config
Dalam file, temukan PasswordAuthentication
baris dan pastikan diakhiri dengan yes
.
Temukan ChallengeResponseAuthentication
opsi dan nonaktifkan dengan menambahkan no
.
Jika baris dikomentari, hapus tanda hash #
untuk membatalkan komentar mereka.
Simpan file dan keluar.
Mulai ulang layanan SSH dengan mengetikkan perintah berikut:
sudo systemctl restart sshd
Solusi 2:Ubah Izin Sistem File
Menggunakan login berbasis kata sandi sebagai metode otentikasi SSH tidak disarankan karena masalah keamanan. Oleh karena itu, solusi berikut mungkin lebih disukai karena memecahkan masalah metode otentikasi kunci publik.
Pertama, buka sshd_config
file menggunakan editor teks:
sudo nano /etc/ssh/sshd_config
Dalam file, pastikan opsi berikut diatur sebagai berikut:
PermitRootLogin no
PubkeyAuthentication yes
Komentari opsi terkait GSSAPI dengan menambahkan tanda hash di awal baris:
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
Pastikan juga UsePAM
baris disetel ke yes
:
UsePAM yes
Simpan file dan mulai ulang layanan sshd:
systemctl restart sshd
Sekarang navigasikan ke folder rumah Anda dan periksa izinnya:
ls -ld
Jika izin pemilik Anda tidak disetel untuk membaca, menulis, dan mengeksekusi (drwx-------code>
), gunakan perintah chmod untuk mengubahnya:
chmod 0700 /home/[your-username]
Sekarang buka .ssh
folder dan periksa kembali izinnya:
ls -ld
Direktori ini juga harus memiliki izin membaca, menulis, dan mengeksekusi untuk pemilik file. Untuk menerapkannya, gunakan chmod
lagi:
chmod 0700 /home/your_home/.ssh
.ssh
folder berisi authorized_keys
mengajukan. Periksa izinnya dengan:
ls -ld authorized_keys
Pemilik file harus memiliki izin baca dan tulis. Untuk menyetelnya, gunakan:
chmod 0600 /home/[username]/.ssh/authorized_keys
Sekarang coba masuk dengan pasangan kunci lagi. Output di bawah ini menunjukkan upaya login yang berhasil.