全部产品
Search
文档中心

:Mengatasi error "Permission denied, please try again" pada koneksi SSH ke instans Linux

更新时间:Nov 07, 2025

Deskripsi masalah

Koneksi SSH ke instans Linux gagal dengan pesan Permission denied, please try again, meskipun username dan password sudah benar.

Diagnosis masalah

  1. Login ke instans ECS menggunakan koneksi VNC.

    1. Buka ECS console - Instance. Di bilah navigasi atas, pilih wilayah target dan grup resource target.

    2. Buka halaman detail instans target, klik Connect, lalu pilih VNC. Masukkan username dan password untuk login ke instans ECS.

  2. Periksa konfigurasi layanan SSH.

    Jika parameter PermitRootLogin atau PasswordAuthentication diatur ke no dalam konfigurasi, lihat Kasus penggunaan 1: Login SSH dinonaktifkan dalam konfigurasi untuk mengatasi masalah tersebut.

    • PermitRootLogin: Jika diatur ke "no", root user tidak dapat login melalui SSH.

    • PasswordAuthentication: Jika diatur ke "no", semua users tidak dapat login menggunakan autentikasi password.

    sudo cat /etc/ssh/sshd_config
  3. Periksa log keamanan sistem.

    Jika kebijakan SELinux memblokir upaya login, kesalahan akan tercatat dalam log keamanan.

    Kebijakan SELinux adalah serangkaian aturan kontrol akses wajib yang mendefinisikan tindakan yang diizinkan bagi suatu proses terhadap file, port, atau resources lainnya.
    # Untuk sistem CentOS/RHEL
    sudo grep -iE --color=auto 'Could not get shadow information' /var/log/secure
    
    # Untuk sistem Debian/Ubuntu
    sudo grep -iE --color=auto 'Could not get shadow information' /var/log/auth.log

    Jika perintah tersebut tidak menghasilkan output, kemungkinan penyebabnya adalah kebijakan SELinux. Dalam hal ini, lihat Kasus Penggunaan 2: Login diblokir oleh kebijakan SELinux untuk mengatasi masalah tersebut.

Mengatasi masalah

Kasus penggunaan 1: Login SSH dinonaktifkan dalam konfigurasi

  1. Ubah konfigurasi

    sudo vi /etc/ssh/sshd_config

    Atur parameter berikut sesuai kebutuhan:

    • Izinkan autentikasi password: Ubah PasswordAuthentication no menjadi PasswordAuthentication yes.

    • Izinkan login root user:

      • Izinkan autentikasi berbasis kunci (Direkomendasikan): Untuk menggunakan pasangan kunci untuk login root, atur PermitRootLogin ke prohibit-password.

      • Izinkan autentikasi password: Ubah PermitRootLogin no menjadi PermitRootLogin yes.

        Penting

        Mengizinkan login root dengan password (PermitRootLogin yes) meningkatkan risiko instans terhadap serangan brute-force. Disarankan untuk menggunakan autentikasi berbasis kunci atau membatasi akses berdasarkan alamat IP sumber.

    Setelah Anda mengubah file, tekan Esc, ketik :wq, lalu tekan Enter untuk menyimpan file dan keluar.

  2. Periksa konfigurasi dan restart layanan

    1. Verifikasi sintaks file konfigurasi. Tidak adanya output menandakan bahwa sintaksis sudah benar.

      sudo sshd -t
    2. Restart layanan SSH agar perubahan diterapkan.

      sudo systemctl restart sshd
  3. Verifikasi koneksi

    Lakukan koneksi ulang ke instans menggunakan SSH untuk memastikan masalah telah teratasi.

Kasus penggunaan 2: Login diblokir oleh kebijakan SELinux

  1. Periksa status SELinux saat ini

    Periksa apakah SELinux dalam mode enforcing.

    sudo sestatus

    Jika output menunjukkan SELinux status sebagai enabled dan Current mode sebagai enforcing, maka kebijakan SELinux aktif.

  2. Ubah mode SELinux untuk sementara untuk memulihkan akses

    Ubah mode SELinux ke mode Permissive untuk sementara. Dalam mode ini, SELinux akan mencatat peringatan, tetapi tidak memblokir operasi.

    sudo setenforce 0
    Penting

    Perubahan ini hanya sementara dan akan direset saat instans dimulai ulang.

    Setelah Anda menjalankan perintah, coba login kembali menggunakan SSH. Jika berhasil, ini mengonfirmasi bahwa SELinux adalah penyebab masalahnya.

  3. Ubah konfigurasi SELinux secara permanen (Opsional)

    1. Ubah file konfigurasi. Ubah mode default SELinux dari enforcing menjadi permissive.

      sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
    2. Mulai ulang instans untuk menerapkan perubahan.

  4. Verifikasi koneksi

    Lakukan koneksi ulang ke instans menggunakan SSH untuk memastikan masalah telah teratasi.