Masalahnya
Pada server CentOS/RHEL 7, SSH tanpa kata sandi untuk pengguna lokal tidak berfungsi. Server ini menggunakan LDAP dan semua akses pengguna LDAP berfungsi dengan baik. Jika kita menambahkan pengguna lokal di /etc/security/access.conf maka tidak ada masalah dengan koneksi. Namun, menambahkan nama pengguna di file /etc/security/access.conf mungkin bukan solusi yang dapat diterima, tergantung pada kebijakan keamanan internal pelanggan.
Akar Penyebab
Masalah ini terjadi karena tidak ada hak istimewa yang ditetapkan untuk pengguna lokal pada sistem yang menggunakan LDAP sebagai metode autentikasi utamanya. Kesalahan berikut akan terlihat di file log aman:
Jul 31 04:05:43 hcusalpbidmbi1s sshd[25861]: pam_access(sshd:account): access denied for user `infbiftp' from `dm-bii-dev-01.am.health.ge.com' Jul 31 04:05:43 hcusalpbidmbi1s sshd[25861]: pam_sss(sshd:account): Access denied for user infbiftp: 10 (User not known to the underlying authentication module) >>>> Jul 31 04:05:43 hcusalpbidmbi1s sshd[25861]: fatal: Access denied for user infbiftp by PAM account configuration [preauth] >>>>
Solusinya
1. Edit /etc/sshd/sshd_conf dan tambahkan baris berikut:
# vi /etc/sshd/sshd_conf AllowUsers username
Ganti dengan nama pengguna yang benar, lalu simpan file tersebut.
2. Edit /etc/pam.d/sshd file dan tambahkan baris berikut:
# vi /etc/pam.d/sshd account sufficient pam_localuser.so
Simpan file.
3. Mulai ulang layanan sshd serta layanan sssd.
# systemctl sshd restart # systemctl sssd restart