- Вопрос или проблема
- Ответ или решение
- Неудача при подключении к серверу через SSH с использованием учетных данных SSSD: подробное руководство по устранению неполадок
- 1. Проверка статуса службы SSSD
- 2. Настройка DNS
- 3. Права доступа к файлу конфигурации SSSD
- 4. Проверка конфигурации sssd.conf
- 5. Присоединение к домену и перезапуск службы SSSD
- 6. Проверка Logs
- Заключение
Вопрос или проблема
Мы создаем новый сервер Ubuntu. Сервер не принимает SSH-подключение с учетными данными пользователя SSSD.
Ниже приведена ошибка, которую мы видим на сервере с состоянием SSSD
sssd.service - Демон системных служб безопасности
Загружено: загружено (/lib/systemd/system/sssd.service; включено; предустановка от поставщика: включено)
Активно: активно (работает) с Вт 2021-10-12 16:01:27 EDT; 1мин 12с назад
Главный PID: 3056 (sssd)
Задачи: 6 (лимит: 4617)
Память: 50.9M
CGroup: /system.slice/sssd.service
├─3056 /usr/sbin/sssd -i --logger=files
├─3077 /usr/libexec/sssd/sssd_be --domain FORDDIRECT.LOCAL --uid 0 --gid 0 --logger=files
├─3078 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
├─3079 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
├─3080 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --logger=files
└─3081 /usr/libexec/sssd/sssd_autofs --uid 0 --gid 0 --logger=files
12 окт 16:01:26 XXXXXXXXXXXXXXXXXXXXXXXX systemd[1]: Запуск демона системных служб безопасности...
12 окт 16:01:26 XXXXXXXXXXXXXXXXXXXXXXXX sssd[3056]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_be[3077]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_pam[3079]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_autofs[3081]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_ssh[3080]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_nss[3078]: Запуск
12 окт 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX systemd[1]: Демон системных служб безопасности запущен.
12 окт 16:02:34 XXXXXXXXXXXXXXXXXXXXXXXX sssd_be[3077]: Не удалось автоматически определить значение сайта AD с использованием DNS и параметра ad_site>
Проверьте, правильно ли настроен DNS.
У меня в файле /etc/hosts перечислены мои контроллеры домена, чтобы проверить, что каждый клиент знает, где их искать.
# пример контроллеров домена в /etc/hosts
1.1.1.1 domaincontroller1.ad.example.com domaincontroller1
2.2.2.2 domaincontroller2.ad.example.com domaincontroller2
3.3.3.3 domaincontroller3.ad.example.com domaincontroller3
4.4.4.4 domaincontroller4.ad.example.com domaincontroller4
Также проверьте /etc/resolv.conf или /etc/systemd/resolved.conf (Ubuntu 20.04) для конфигурации DNS nameserver.
# пример записей в /etc/resolv.conf или /etc/systemd/resolved.conf
nameserver <ip адрес>
nameserver 8.8.8.8
search ad.your.domain
После изменения /etc/systemd/resolved.conf вам нужно будет выполнить:
systemctl restart resolvconf
resolvconf -u
В Ubuntu 20.04 вы также можете выполнить systemd-resolve --status
, чтобы посмотреть, какие DNS-серверы настроены.
Убедитесь, что файл /etc/sssd/sssd.conf имеет правильные разрешения и владельца.
# Разрешения
-rw------- 1 root root 1.3K 21 дек 08:42 /etc/sssd/sssd.conf
Если вы используете realm для присоединения к домену, ваш файл конфигурации sssd должен содержать только следующее, чтобы присоединиться. Realm автоматически создаст некоторые из других необходимых требований в файле sssd.conf.
# Основные конфигурации sssd.conf
[sssd]
domains =
config_file_version = 2
services = nss, pam
# пример команды присоединения realm
realm join -U AdminAcct ad.example.com --computer-name="server1" --os-name="Ubuntu" --os-version="20.04" --computer-ou="CN=Computers,DC=ad,DC=example,DC=com" --automatic-id-mapping=no
После присоединения к домену с приведенной выше конфигурацией вы можете изменить файл sssd.conf, а затем просто выполнить:
systemctl restart sssd.service && sss_cache -E
Ответ или решение
Неудача при подключении к серверу через SSH с использованием учетных данных SSSD: подробное руководство по устранению неполадок
Если вы столкнулись с проблемой подключения к новому серверу Ubuntu по SSH, используя учетные данные SSSD, это может быть связано с несколькими факторами. Давайте рассмотрим возможные причины и шаги для их устранения.
1. Проверка статуса службы SSSD
Первый шаг — удостовериться, что служба SSSD запущена и работает без ошибок. По приведенной вами информации видно, что служба активна, однако в логах присутствует сообщение:
sssd_be[3077]: Could not autodiscover AD site value using DNS and ad_site op>
Это может указывать на проблемы с разрешением DNS.
2. Настройка DNS
Правильная настройка DNS является критически важной для работы SSSD, особенно если вы используете Active Directory. Убедитесь, что:
-
В файле
/etc/hosts
указаны правильные адреса ваших контроллеров домена:1.1.1.1 domaincontroller1.ad.example.com domaincontroller1 2.2.2.2 domaincontroller2.ad.example.com domaincontroller2 3.3.3.3 domaincontroller3.ad.example.com domaincontroller3 4.4.4.4 domaincontroller4.ad.example.com domaincontroller4
-
В файле
/etc/resolv.conf
или/etc/systemd/resolved.conf
корректно настроены параметры именования:nameserver <ip_address> nameserver 8.8.8.8 search ad.your.domain
После внесения изменений в /etc/systemd/resolved.conf
, выполните команды:
systemctl restart resolvconf
resolvconf -u
Для проверки конфигурации DNS используйте команду:
systemd-resolve --status
3. Права доступа к файлу конфигурации SSSD
Проверка файла конфигурации SSSD также важна. Убедитесь, что файл /etc/sssd/sssd.conf
имеет правильные права доступа и принадлежность:
-rw------- 1 root root 1.3K Dec 21 08:42 /etc/sssd/sssd.conf
Настройте права с помощью команды:
chmod 600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
4. Проверка конфигурации sssd.conf
Если вы используете realm
для присоединения к домену, убедитесь, что в sssd.conf
указаны все необходимые параметры. Вот пример базовой конфигурации:
[sssd]
domains = <your_domain>
config_file_version = 2
services = nss, pam
[domain/<your_domain>]
id_provider = ad
auth_provider = ad
5. Присоединение к домену и перезапуск службы SSSD
Если вы не уверены в правильности конфигурации или изменили ее, рекомендуется снова выполнить присоединение к домену:
realm join -U AdminAcct ad.example.com --computer-name="server1" --os-name="Ubuntu" --os-version="20.04" --computer-ou="CN=Computers,DC=ad,DC=example,DC=com" --automatic-id-mapping=no
После этого обновите конфигурацию SSSD:
systemctl restart sssd.service && sss_cache -E
6. Проверка Logs
После всех действий проверьте логи SSSD для выявления потенциальных ошибок:
journalctl -u sssd
Обратите внимание на наличие сообщений об ошибках или предупреждениях, которые могут указать на проблему.
Заключение
Правильная установка и конфигурация SSSD и DNS — ключевые аспекты для успешного подключения через SSH к серверу Ubuntu с использованием учетных данных Active Directory. Выполняя описанные шаги, вы сможете выявить и устранить причины, по которым не удается подключиться к серверу. Если вопросы остаются, может потребоваться углубленный анализ логов или помощь системного администратора.