Deskripsi masalah
Saat Anda menghubungkan ke instans Linux menggunakan SSH, koneksi gagal dengan pesan Permission denied, please try again, meskipun menggunakan username dan password yang benar.
Diagnosis masalah
-
Login ke instans ECS menggunakan koneksi VNC.
-
Buka Simple Application Server console. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya yang dituju.
-
Buka halaman detail instans target. Klik Connect dan pilih VNC. Masukkan username dan password untuk login ke instans ECS.
-
-
Periksa konfigurasi layanan SSH.
Jika
PermitRootLoginatauPasswordAuthenticationdiatur keno, lihat Atasi pesan "Permission denied, please try again" saat login root melalui SSH untuk menyelesaikan masalah.-
PermitRootLogin: Saat diatur keno, memblokir login root melalui SSH. -
PasswordAuthentication: Saat diatur keno, menonaktifkan login berbasis password untuk semua pengguna.
sudo cat /etc/ssh/sshd_config -
-
Periksa log keamanan sistem.
SELinux mungkin memblokir upaya login dan mencatat error di log keamanan sistem.
SELinux menerapkan aturan Mandatory Access Control (MAC) yang mengatur akses setiap proses.
# 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.logJika perintah tidak menghasilkan output, kemungkinan besar penyebabnya adalah kebijakan SELinux. Lihat Atasi pesan "Permission denied, please try again" saat login root melalui SSH.
Penyelesaian
Kasus penggunaan 1: Konfigurasi SSH menolak login
-
Ubah konfigurasi
sudo vi /etc/ssh/sshd_configSesuaikan parameter sesuai kebutuhan:
-
Aktifkan autentikasi berbasis password: Ubah
PasswordAuthentication nomenjadiPasswordAuthentication yes. -
Izinkan login pengguna root:
-
Aktifkan autentikasi berbasis kunci (Direkomendasikan): Untuk menggunakan pasangan kunci saat login root, atur
PermitRootLoginkeprohibit-password. -
Aktifkan autentikasi berbasis password: Ubah
PermitRootLogin nomenjadiPermitRootLogin yes.PentingMengizinkan login root dengan password (
PermitRootLogin yes) meningkatkan risiko instans terhadap serangan brute-force. Kami menyarankan Anda menggunakan autentikasi berbasis kunci atau membatasi akses berdasarkan alamat IP sumber sebagai gantinya.
-
Setelah mengubah file, tekan
Esc, ketik:wq, lalu tekanEnteruntuk menyimpan file dan keluar. -
-
Periksa konfigurasi dan restart layanan
-
Verifikasi sintaks file konfigurasi. Tidak ada output berarti sintaks sudah benar.
sudo sshd -t -
Restart layanan SSH agar perubahan diterapkan.
sudo systemctl restart sshd
-
-
Verifikasi koneksi
Sambungkan kembali ke instans menggunakan SSH untuk memastikan masalah telah teratasi.
Kasus penggunaan 2: Kebijakan SELinux memblokir login
-
Periksa status saat ini dari SELinux
Periksa apakah SELinux dalam mode
enforcing.sudo sestatusJika output menunjukkan
SELinux statussebagaienableddanCurrent modesebagaienforcing, maka kebijakan SELinux sedang aktif. -
Ubah sementara mode SELinux untuk memulihkan akses
Ubah sementara SELinux ke mode
Permissive. Dalam mode ini, SELinux hanya mencatat peringatan tetapi tidak memblokir operasi.sudo setenforce 0PentingPerubahan ini bersifat sementara dan akan kembali ke pengaturan semula setelah instans direstart.
Setelah menjalankan perintah tersebut, coba login kembali menggunakan SSH. Jika berhasil, berarti SELinux adalah penyebab masalah.
-
Ubah permanen konfigurasi SELinux (Opsional)
-
Ubah file konfigurasi. Ganti mode default SELinux dari
enforcingmenjadipermissive.sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config -
Restart instans agar perubahan diterapkan.
-
-
Verifikasi koneksi
Sambungkan kembali ke instans menggunakan SSH untuk memverifikasi koneksi.