Problém
Na serveru CentOS/RHEL 7 nefunguje SSH bez hesla pro místní uživatele. Tento server používá LDAP a všechny uživatelské přístupy LDAP fungují dobře. Pokud do /etc/security/access.conf přidáme místního uživatele, není problém s připojením. Přidání uživatelského jména do souboru /etc/security/access.conf však nemusí být přijatelné řešení v závislosti na interních zásadách zabezpečení zákazníka.
Kořenová příčina
K tomuto problému dochází, protože v systému, který používá LDAP jako primární metodu ověřování, nejsou nastavena žádná oprávnění pro místní uživatele. V zabezpečeném souboru protokolu se zobrazí následující chyba:
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] >>>>
Řešení
1. Upravte /etc/sshd/sshd_conf a přidejte následující řádek:
# vi /etc/sshd/sshd_conf AllowUsers username
Nahraďte správným uživatelským jménem a poté soubor uložte.
2. Upravte soubor /etc/pam.d/sshd soubor a přidejte následující řádek:
# vi /etc/pam.d/sshd account sufficient pam_localuser.so
Uložte soubor.
3. Restartujte službu sshd i službu sssd.
# systemctl sshd restart # systemctl sssd restart