Рейтинг:1

LDAP находит пользователя, но «отказано в доступе» при входе в систему

флаг aw

Я настраиваю клиент LDAP в Red Hat 8.

После настройки файлов конфигурации я провел пользовательский тест LDAP, и он успешно вернулся:

# идентификатор моего пользователя
uid=666(myusername) gid=510(active_users) groups=510(active_users)

Если я запускаю ldapsearch он успешно возвращается с ожидаемыми результатами:

# ldapsearch -x -ZZ -h ldap.example.com -b dc=example,dc=com

Но если я попытаюсь ssh к машине Red Hat 8 с другой машины, я получаю эту ошибку:

# ssh имя_пользователя@xxx.xxx.xxx.xxx
[email protected] пароль:
Разрешение отклонено, попробуйте еще раз.

Я пробовал пару разных машин с разными учетными записями пользователей и получил те же результаты.

Вот моя установка:

/etc/sssd/sssd.conf

[домен/по умолчанию]
ldap_tls_reqcert = спрос
cache_credentials = Ложь
ldap_search_base = dc=пример,dc=com
id_provider = лдап
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ldap.example.com/
ldap_id_use_start_tls = Ложь
ldap_tls_cacert = /etc/sssd/ca-bundle.crt

[СССД]
config_file_version = 2
сервисы = nss, pam, ssh
домены = по умолчанию

[нсс]
homedir_substring = / домой

/etc/openldap/ldap.conf

TLS_CACERT /etc/sssd/ca-bundle.crt

#BASE dc=пример,dc=com
#URI ldap://ldap.example.com/
SASL_NOCANON на
URI ldaps://ldap.example.com/
БАЗА dc=example,dc=com
TLS_CACERTDIR /etc/sssd

/etc/nsswitch.conf

# Сгенерировано authselect, четверг, 27 января, 15:22:08 2022
# Не изменяйте этот файл вручную.

пароль: файлы sss systemd
группа: файлы sss systemd
сетевая группа: файлы sss
автомонтирование: файлы sss
услуги: файлы sss

# пароль: файлы БД
# тень: файлы db
# группа: файлы БД

# В порядке вероятности использования для ускорения поиска.
тень: файлы sss
hosts: файлы dns myhostname

псевдонимы: файлы
эфиры: файлы
тень: файлы
# Разрешить initgroups по умолчанию использовать настройку для группы.
# initgroups: файлы
сети: файлы днс
протоколы: файлы
открытый ключ: файлы
РПЦ: файлы

/etc/sysconfig/authconfig

USELDAP=да
USELDAPAUTH=да

/etc/pam.d/пароль-аутентификация

# Сгенерировано authselect, четверг, 27 января, 15:22:08 2022
# Не изменяйте этот файл вручную.

требуется авторизация pam_env.so
требуется авторизация pam_faildelay.so delay=2000000
auth [по умолчанию=1 ignore=игнорировать success=ok] pam_usertype.so является обычным
auth [по умолчанию = 1 игнорировать = игнорировать успех = хорошо] pam_localuser.so
достаточно аутентификации pam_unix.so nullok
auth [по умолчанию=1 ignore=игнорировать success=ok] pam_usertype.so является обычным
достаточно авторизации pam_sss.so forward_pass
требуется авторизация pam_deny.so

требуется учетная запись pam_unix.so
достаточная учетная запись pam_localuser.so
достаточная учетная запись pam_usertype.so issystem
аккаунт [по умолчанию=плохой успех=ок, user_unknown=игнорировать] pam_sss.so
требуется учетная запись pam_permit.so

необходимый пароль pam_pwquality.so local_users_only
достаточный пароль pam_unix.so sha512 shadow nullok use_authtok
достаточный пароль pam_sss.so use_authtok
требуется пароль pam_deny.so

необязательный отзыв сеанса pam_keyinit.so
требуется сеанс pam_limits.so
-session необязательный pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so сервис в crond тихий use_uid
требуется сеанс pam_unix.so
необязательный сеанс pam_sss.so

/etc/pam.d/системная аутентификация

# Сгенерировано authselect, четверг, 27 января, 15:22:08 2022
# Не изменяйте этот файл вручную.

требуется авторизация pam_env.so
требуется авторизация pam_faildelay.so delay=2000000
auth [по умолчанию=1 ignore=игнорировать success=ok] pam_usertype.so является обычным
auth [по умолчанию = 1 игнорировать = игнорировать успех = хорошо] pam_localuser.so
достаточно аутентификации pam_unix.so nullok
auth [по умолчанию=1 ignore=игнорировать success=ok] pam_usertype.so является обычным
достаточно авторизации pam_sss.so forward_pass
требуется авторизация pam_deny.so

требуется учетная запись pam_unix.so
достаточная учетная запись pam_localuser.so
достаточная учетная запись pam_usertype.so issystem
аккаунт [по умолчанию=плохой успех=ок, user_unknown=игнорировать] pam_sss.so
требуется учетная запись pam_permit.so

необходимый пароль pam_pwquality.so local_users_only
достаточный пароль pam_unix.so sha512 shadow nullok use_authtok
достаточный пароль pam_sss.so use_authtok
требуется пароль pam_deny.so

необязательный отзыв сеанса pam_keyinit.so
требуется сеанс pam_limits.so
-session необязательный pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so сервис в crond тихий use_uid
требуется сеанс pam_unix.so
необязательный сеанс pam_sss.so

/etc/ssh/sshd_config

# $OpenBSD: sshd_config,v 1.103 09.04.2018 20:41:22 tj Exp $

Ключ хоста /etc/ssh/ssh_host_rsa_key
Ключ хоста /etc/ssh/ssh_host_ecdsa_key
Ключ хоста /etc/ssh/ssh_host_ed25519_key

# Логирование
#SyslogFacility АУТЕНТИФИКАЦИЯ
SyslogFacility AUTHPRIV
#LogLevel ИНФОРМАЦИЯ

# Аутентификация:
Разрешить RootLogin да
Файл авторизованных ключей .ssh/authorized_keys

# Чтобы отключить туннелируемые пароли в открытом виде, измените здесь на no!
#Аутентификация по паролю да
#PermitEmptyPasswords нет
Аутентификация по паролю да

# Измените на no, чтобы отключить пароли s/key
#ChallengeResponseАутентификация да
ВызовОтветАутентификация нет

# Параметры GSSAPI
GSSAPIAАутентификация да
GSSAPICleanupCredentials нет
#GSSAPIStrictAcceptorПроверить да
#GSSAPIKeyExchangeнет
#GSSAPIEnablek5users нет

ИспользоватьPAM да

X11Переадресация да

# Рекомендуется использовать pam_motd в /etc/pam.d/sshd вместо PrintMotd,
# так как он более настраиваем и универсален, чем встроенная версия.
Версия для печати

Клиентживинтервал 600
ClientAliveCountMax 0

# Принимаем переменные среды, связанные с локалью
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

# переопределить значение по умолчанию отсутствия подсистем
Подсистема sftp /usr/libexec/openssh/sftp-сервер

/var/журнал/безопасный

28 января 08:35:39 opal sshd[206875]: pam_unix(sshd:auth): ошибка аутентификации; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.xxx user=myusername
28 января, 08:35:40 opal sshd [206875]: неверный пароль для моего имени пользователя с порта xxx.xxx.xxx.xxx 60384 ssh2

Попытки

Я пробовал следующее:

  • Отключение selinux в /etc/selinux/config
  • Остановка iptables.service
  • Добавление Разрешить RootLogin да и ИспользоватьPAM да в красную шляпу 8 /etc/ssh/sshd_conf файл
  • Неоднократно пытался authselect выбрать sssd, а затем перезапустить sssd.service
  • Добавление FORCELEGACY=да в /etc/sysconfig/authconfig

Вопрос

Может ли кто-нибудь помочь мне понять, почему пользователи не могут использовать SSH для входа на этот сервер?

флаг cn
Пробовали ли вы войти в *обе* системы как *не-LDAP* пользователь и выполнить команду `id` на обеих? Это позволит определить, является ли это проблемой присоединения к домену или чем-то еще.
флаг aw
@ shearn89 Я вошел в систему как пользователь, не являющийся пользователем LDAP, и выполнил команду `id` на компьютере Red Hat. С машин, с которых я пытаюсь использовать SSH, я могу подключаться по SSH к другим машинам, используя пользователей LDAP.
флаг cn
Извините, компьютер Red Hat — это сервер или клиент? Можете ли вы протестировать команду `id` на ОБА сервере и клиенте.
флаг aw
Машина Red Hat — это сервер. Да, команда `id` работает как на сервере, так и на клиенте.
флаг cn
Синхронизировано ли время между ними?
флаг aw
Хороший вопрос, я проверил, и да, они синхронизированы.
Рейтинг:0
флаг aw

Наконец-то я нашел решение, создав пользовательский authselect профиль с настраиваемым пароль-аутентификация, системная аутентификация, и nsswitch.conf файлы.

1. Создайте собственный профиль на основе sssd

authselect создать профиль профиль пользователя -b sssd

2. Перезаписать /etc/authselect/custom/профиль пользователя/пароль-аутентификация и /etc/authselect/custom/user-profile/system-auth со следующими настройками

требуется авторизация pam_env.so
достаточно аутентификации pam_unix.so nullok try_first_pass
достаточно авторизации pam_sss.so
реквизиты для аутентификации pam_succeed_if.so uid >= 1000 quiet_success
требуется авторизация pam_deny.so

требуется учетная запись pam_unix.so
достаточная учетная запись pam_sss.so
достаточная учетная запись pam_localuser.so
достаточная учетная запись pam_succeed_if.so uid < 1000 тихий
требуется учетная запись pam_permit.so

пароль необходим pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
достаточный пароль pam_sss.so
достаточный пароль pam_unix.so sha512 shadow nullok try_first_pass use_authtok
требуется пароль pam_deny.so

необязательный отзыв сеанса pam_keyinit.so
требуется сеанс pam_limits.so
-session необязательный pam_systemd.so
необязательный сеанс pam_mkhomedir.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so сервис в crond тихий use_uid
сессия достаточна pam_sss.so
требуется сеанс pam_unix.so

3. Перезаписать /etc/authselect/custom/user-profile/nsswitch.conf со следующими настройками

passwd: файлы sss {исключить, если "with-custom-passwd"}
тень: файлы sss
группа: файлы sss {исключить, если "с пользовательской группой"}
сетевые маски: файлы
сети: файлы
сетевая группа: файлы sss {исключить, если "with-custom-netgroup"}
automount: файлы sss {исключить, если "with-custom-automount"}
сервисы: файлы sss {исключить, если "с пользовательскими сервисами"}
sudoers: файлы sss {исключить, если "с-sudo"}

4. Выберите новый профиль

authselect выбрать пользовательский/пользовательский профиль

5. Перезагрузите твердотельный накопитель

systemctrl перезапустить sssd

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.