Проблема
На сервере CentOS / RHEL 7 SSH без пароля для локальных пользователей не работает.
Этот сервер использует LDAP, и все доступы пользователей LDAP работают нормально.
Если мы добавим локального пользователя в /etc/security/access.conf, то с соединением проблем не будет.
Однако добавление пользователя в файл /etc/security/access.conf может оказаться неприемлемым решением в зависимости от внутренних политик безопасности клиента.
Первопричина
Эта проблема возникает из-за отсутствия привилегий для локальных пользователей в системе, которая использует LDAP в качестве основного метода аутентификации.
Следующая ошибка отображена в файле журнала:
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] >>>>
Решение
1. Отредактируйте файл /etc/ssh/sshd_config и добавьте следующую строку:
# vi /etc/sshd/sshd_conf AllowUsers username
Замените на правильное имя пользователя, затем сохраните файл.
2. Отредактируйте файл /etc/pam.d/sshd и добавьте следующую строку:
# vi /etc/pam.d/sshd account sufficient pam_localuser.so
Сохраните файл.
3. Перезапустите службу sshd, а также службу sssd.
# systemctl sshd restart # systemctl sssd restart