全部产品
Search
文档中心

:Mengatasi error 'Access denied' saat masuk SSH ke instans Linux

更新时间:Dec 05, 2025

Deskripsi Masalah

  • Koneksi remote gagal: Saat mencoba terhubung ke instans Linux menggunakan client Secure Shell (SSH) pihak ketiga (seperti PuTTY, XShell, atau SecureCRT), koneksi gagal dengan pesan error Access denied atau Permission denied, please try again..

  • Log keamanan sistem: File log sistem /var/log/secure berisi pesan seperti not allowed because.

Penyebab

Secara default, layanan SSH pada instans Linux mengizinkan semua user sistem untuk masuk menggunakan kredensial mereka (kata sandi atau kunci). Namun, jika policy pembatasan akses diaktifkan dalam file konfigurasi layanan SSH /etc/ssh/sshd_config, konfigurasi yang salah dapat mencegah user tertentu untuk masuk ke instans.

  • AllowUsers: Whitelist pengguna. Hanya pengguna yang tercantum yang diizinkan masuk.

  • DenyUsers: Blacklist pengguna. Pengguna yang tercantum ditolak untuk masuk.

  • AllowGroups: Whitelist grup pengguna. Hanya pengguna dari grup yang tercantum yang diizinkan masuk.

  • DenyGroups: Blacklist grup pengguna. Pengguna dari grup yang tercantum ditolak untuk masuk.

Kebijakan penolakan (Deny*) memiliki prioritas lebih tinggi daripada kebijakan izin (Allow*). Jika seorang pengguna sesuai dengan kedua kebijakan tersebut, akses akan ditolak.

Solusi

  1. Masuk ke instans ECS menggunakan koneksi VNC.

    1. Buka ECS console - Instances. Di bilah navigasi atas, pilih wilayah dan resource group yang dituju.

    2. Buka halaman detail instans yang dituju. Klik Connect dan pilih VNC. Masukkan username dan kata sandi untuk masuk ke instans ECS.

  2. Periksa dan modifikasi file konfigurasi SSH.

    1. Buat backup file konfigurasi agar dapat dipulihkan jika terjadi error.

      sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bak
    2. Temukan dan sesuaikan kebijakan kontrol akses.

      sudo vi /etc/ssh/sshd_config

      Ubah file menggunakan salah satu metode berikut:

      • Metode 1: Nonaktifkan semua aturan pembatasan

        Untuk menghapus pembatasan, tambahkan tanda # di awal setiap baris parameter AllowUsers, DenyUsers, AllowGroups, dan DenyGroups. Tindakan ini akan mengizinkan semua user sistem untuk masuk.

        # AllowUsers userA userB
        # DenyUsers userC
      • Metode 2: Perbaiki aturan pembatasan

        Untuk menghindari ambiguitas, jangan gunakan kebijakan whitelist (Allow*) dan blacklist (Deny*) secara bersamaan.

        • Gunakan kebijakan whitelist (jika hanya pengguna tertentu yang boleh masuk)

          Pertahankan hanya parameter AllowUsers atau AllowGroups. Tambahkan pengguna atau grup pengguna yang memerlukan akses masuk ke dalam daftar. Lalu, nonaktifkan atau hapus semua parameter Deny*.

           AllowUsers userA userB newUser
           # DenyUsers userC 
          Contoh ini hanya mengizinkan userA, userB, dan newUser untuk masuk, serta menolak semua user lain.
        • Gunakan kebijakan blacklist (jika hanya user tertentu yang perlu diblokir)

          Pertahankan hanya parameter DenyUsers atau DenyGroups. Tambahkan pengguna atau grup pengguna yang ingin Anda blokir ke dalam daftar. Lalu, nonaktifkan atau hapus semua parameter Allow*.

          # AllowUsers userA userB
           DenyUsers userC userD
          Contoh ini menolak akses untuk userC dan userD, tetapi mengizinkan semua pengguna lain untuk masuk.
  3. Restart layanan SSH untuk menerapkan konfigurasi baru.

    sudo systemctl restart sshd.service
    Jika layanan gagal dimulai, jalankan perintah cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config untuk memulihkan file konfigurasi dari backup.
  4. Coba masuk lagi ke instans menggunakan client SSH pihak ketiga Anda untuk memastikan masalah telah teratasi.