Гид по технологиям

Добавление Ubuntu‑клиента в FreeIPA — пошагово

• 5 min read • DevOps • Обновлено 18 Nov 2025
Добавление Ubuntu‑клиента в FreeIPA — пошагово
Добавление Ubuntu‑клиента в FreeIPA — пошагово

К чему это подходит

Краткое руководство пригодится системным администраторам и инженерам по идентификации, которым нужно централизовать аутентификацию Linux‑клиентов через FreeIPA/Kerberos/SSSD.

Схема добавления Ubuntu-клиента в FreeIPA

Требования

  • Полностью настроенный сервер FreeIPA (сервер услуг идентификации и DNS).
  • Клиентская машина с Ubuntu (сервер или рабочая станция).
  • Нератовая учетная запись с правами sudo.
  • Синхронизированное время между сервером и клиентом (время критично для Kerberos).

1. Добавление пользователя на сервере FreeIPA

Подключитесь к серверу FreeIPA по SSH:

ssh user@SERVER-IP-FreeIPA

Аутентифицируйтесь в Kerberos под администрацией:

kinit admin

Вас попросят ввести пароль администратора Kerberos. Проверьте наличие тикета:

klist

Вывод klist с Kerberos ticket для администратора

Измените shell по умолчанию для пользователей FreeIPA на /bin/bash:

ipa config-mod --defaultshell=/bin/bash

Вывод ipa config-mod: default shell установлен на /bin/bash

Создайте пользователя, например laura:

ipa user-add laura --first=Laura --last=Admin --password

Вас попросят ввести сильный пароль — после этого пользователь будет создан.

Создание пользователя laura в FreeIPA — запрос пароля

2. Добавление DNS‑записи для клиента в FreeIPA

В примере клиент имеет IP 192.168.10.50 и hostname ubuntu-node. Замените значения на ваши.

ipa dnsrecord-add howtoforge.local ubuntu-node.howtoforge.local --a-rec 192.168.10.50

Проверьте запись:

ipa dnsrecord-find howtoforge.local ubuntu-node.howtoforge.local

Проверьте разрешение FQDN с сервера:

ping ubuntu-node.howtoforge.local -c5

После этих шагов FQDN должен резолвиться в IP клиента.

3. Настройка FQDN и /etc/hosts на клиенте Ubuntu

На клиенте установите FQDN:

sudo hostnamectl set-hostname ubuntu-node.howtoforge.local

Отредактируйте /etc/hosts:

sudo nano /etc/hosts

Добавьте строки (замените адреса на ваши):

192.168.10.25 ipa.howtoforge.local
192.168.10.50 ubuntu-node.howtoforge.local

Проверьте разрешение с клиента:

dig +short ubuntu-node.howtoforge.local A
dig +short -x 192.168.10.50

Результат проверки FQDN и обратной записи через dig

Примечание: в примере на скриншоте была опечатка IP (192.169.10.50) — используйте ваши реальные адреса.

4. Установка клиента FreeIPA на Ubuntu

Обновите список пакетов и установите клиент и утилиту для автоматического создания домашней директории:

sudo apt update
sudo apt install freeipa-client oddjob-mkhomedir

Подтвердите установку.

Установка пакетов freeipa-client и oddjob-mkhomedir в Ubuntu

Во время установки вам могут предложить настройки Kerberos — обычно REALM определяется автоматически по FQDN, поэтому по умолчанию можно оставить предложенные значения.

Вы можете пропустить ручную конфигурацию Kerberos в интерактивном мастере, если планируете запустить ipa-client-install вручную.

Пропуск конфигурации Kerberos при установке пакета

Запустите установку клиента и присоединение к серверу FreeIPA (замените сервер, домен и REALM на ваши):

ipa-client-install --hostname=`hostname -f` --mkhomedir --server=ipa.howtoforge.local --domain howtoforge.local --realm HWDOMAIN.IO

Во время установки ожидаются ответы:

  • Подтвердите autodiscovery (yes), если его предлагает мастер.
  • Отклоните настройку NTP, если она уже настроена отдельно.
  • Подтвердите конфигурацию сервера FreeIPA.
  • Введите admin как Kerberos‑пользователя и пароль администратора.

Ввод учетных данных администратора для присоединения клиента к FreeIPA

После успешной настройки вы увидите сообщение «Client configuration completed.»

Сообщение об успешном завершении конфигурации клиента

Обновите PAM, чтобы включить автоматическое создание домашней директории:

sudo pam-auth-update

Выберите профиль «Create a home directory on login» и подтвердите.

Выбор профиля PAM для создания домашней директории при логине

5. Вход на Ubuntu‑клиент с помощью пользователя FreeIPA

С сервера FreeIPA или другой машины подключитесь к клиенту как пользователь laura:

ssh [email protected]

Введите пароль FreeIPA‑пользователя. При первом входе система может потребовать сменить пароль.

Вход по SSH на ubuntu-node под пользователем FreeIPA laura

Если вход успешен — конфигурация завершена.

Критерии приёмки

  • На сервере FreeIPA создан пользователь и DNS‑запись для клиента.
  • Клиент резолвится по FQDN как на сервере, так и на клиенте.
  • ipa-client-install завершился без ошибок и показал «Client configuration completed.».
  • При логине по SSH пользователь FreeIPA получает домашний каталог автоматически.

Быстрая проверка (checklist)

  • ping ubuntu-node.howtoforge.local возвращает корректный IP.
  • kinit admin и klist на сервере показывают билет Kerberos.
  • ipa dnsrecord-find возвращает правильную A‑запись.
  • на клиенте hostnamectl показывает правильный FQDN.
  • sssd и oddjob запущены и работают.

Технические советы и распространённые ошибки

  • Проблема: аутентификация падает с ошибкой времени. Причина: рассинхронизация времени. Решение: включите NTP/chrony на сервере и клиенте.
  • Проблема: не резолвится имя сервера FreeIPA. Причина: DNS не настроен или /etc/hosts конфликтует. Решение: проверьте DNS‑запись на FreeIPA и /etc/hosts.
  • Проблема: отсутствует домашняя папка после логина. Причина: не включён профиль pam‑mkhomedir. Решение: sudo pam-auth-update → включить Create a home directory on login.
  • Проблема: ipa-client-install не видит сервер. Причина: firewall, неправильный FQDN или неверный REALM. Решение: проверьте доступ по 88/389/636 и правильность домена.

Быстрый план устранения инцидента (runbook)

  1. Проверить связь: ping, telnet ipa‑сервера на порт 88 и 389.
  2. Проверить время: timedatectl на сервере и клиенте.
  3. Проверить DNS: dig/host/nslookup для FQDN сервера и клиента.
  4. kinit admin на сервере, klist — убедиться в тикете.
  5. Просмотреть логи: /var/log/sssd/sssd.log и /var/log/secure (или auth.log) на клиенте.
  6. Если требуется — удалить конфигурацию клиента и повторить ipa-client-install с –uninstall для чистого старта.

Альтернативные подходы

  • Использовать realmd и sssd вместо прямого ipa-client-install для упрощённой интеграции с другими доменами.
  • Автоматизировать присоединение с помощью Ansible‑роли freeipa_client для массового развёртывания.
  • Вместо Systemd/oddjob‑mkhomedir можно управлять домашними директориями через облачные провиженеры или через LDAP‑скрипты.

Модель принятия решений (mermaid)

flowchart TD
  A[Начало] --> B{Имя контейнера/клиента резолвится?}
  B -- Да --> C{Время синхронизировано?}
  B -- Нет --> D[Проверить DNS и /etc/hosts]
  D --> B
  C -- Нет --> E[Настроить NTP/chrony]
  C -- Да --> F[Запустить ipa-client-install]
  F --> G{Успешно?}
  G -- Да --> H[Проверка входа по SSH]
  G -- Нет --> I[Изучить логи sssd/ipa-client-install]

Проверки безопасности и рекомендации

  • Ограничьте доступ к порту 88 (Kerberos) и 389/636 (LDAP) только доверенным подсетям.
  • Разрешите SSH вход только по ключам для привилегированных администраторов; для пользователей FreeIPA при желании примените многофакторную аутентификацию.
  • Настройте ротацию паролей и политики сложности в FreeIPA.
  • Контролируйте журналы доступа и настраивайте оповещения при неудачных попытках логина.

Роли и чеклист для развёртывания

Администратор FreeIPA:

  • Создать пользователя и задать политику паролей.
  • Добавить DNS‑запись для клиента.
  • Убедиться в доступности Kerberos и LDAP.

Оператор/DevOps для клиента:

  • Установить пакеты freeipa-client и oddjob-mkhomedir.
  • Настроить FQDN и /etc/hosts.
  • Запустить ipa-client-install и pam-auth-update.

Краткая методология для повторяемого развёртывания

  1. Подготовка: синхронизируйте время, проверьте DNS и сетевые правила.
  2. Сервер: создайте пользователя и DNS‑запись.
  3. Клиент: установите пакеты, настройте hostname и /etc/hosts.
  4. Подключение: ipa-client-install → pam‑конфигурация → тест SSH.
  5. Верификация: проверка логов и SSO/SSSD.

1‑строчный глоссарий

  • FreeIPA — централизованное решение управления идентификацией (LDAP + Kerberos + DNS).
  • Kerberos — протокол сетевой аутентификации, зависящий от синхронизации времени.
  • SSSD — демон на клиенте для работы с LDAP/Kerberos и кеширования учетных данных.

Заключение

Вы успешно узнали, как добавить Ubuntu‑клиент в FreeIPA: от создания пользователя и DNS‑записи до установки клиента, настройки PAM и тестового входа по SSH. Следуйте чеклисту и runbook при возникновении проблем. Для массового развёртывания используйте автоматизацию (Ansible/CM).

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро