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

Требования
- Полностью настроенный сервер FreeIPA (сервер услуг идентификации и DNS).
- Клиентская машина с Ubuntu (сервер или рабочая станция).
- Нератовая учетная запись с правами sudo.
- Синхронизированное время между сервером и клиентом (время критично для Kerberos).
1. Добавление пользователя на сервере FreeIPA
Подключитесь к серверу FreeIPA по SSH:
ssh user@SERVER-IP-FreeIPAАутентифицируйтесь в Kerberos под администрацией:
kinit adminВас попросят ввести пароль администратора Kerberos. Проверьте наличие тикета:
klist
Измените shell по умолчанию для пользователей FreeIPA на /bin/bash:
ipa config-mod --defaultshell=/bin/bash
Создайте пользователя, например laura:
ipa user-add laura --first=Laura --last=Admin --passwordВас попросят ввести сильный пароль — после этого пользователь будет создан.

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
Примечание: в примере на скриншоте была опечатка IP (192.169.10.50) — используйте ваши реальные адреса.
4. Установка клиента FreeIPA на Ubuntu
Обновите список пакетов и установите клиент и утилиту для автоматического создания домашней директории:
sudo apt update
sudo apt install freeipa-client oddjob-mkhomedirПодтвердите установку.

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

Запустите установку клиента и присоединение к серверу 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‑пользователя и пароль администратора.

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

Обновите PAM, чтобы включить автоматическое создание домашней директории:
sudo pam-auth-updateВыберите профиль «Create a home directory on login» и подтвердите.

5. Вход на Ubuntu‑клиент с помощью пользователя FreeIPA
С сервера FreeIPA или другой машины подключитесь к клиенту как пользователь laura:
ssh [email protected]Введите пароль FreeIPA‑пользователя. При первом входе система может потребовать сменить пароль.

Если вход успешен — конфигурация завершена.
Критерии приёмки
- На сервере 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)
- Проверить связь: ping, telnet ipa‑сервера на порт 88 и 389.
- Проверить время: timedatectl на сервере и клиенте.
- Проверить DNS: dig/host/nslookup для FQDN сервера и клиента.
- kinit admin на сервере, klist — убедиться в тикете.
- Просмотреть логи: /var/log/sssd/sssd.log и /var/log/secure (или auth.log) на клиенте.
- Если требуется — удалить конфигурацию клиента и повторить 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.
Краткая методология для повторяемого развёртывания
- Подготовка: синхронизируйте время, проверьте DNS и сетевые правила.
- Сервер: создайте пользователя и DNS‑запись.
- Клиент: установите пакеты, настройте hostname и /etc/hosts.
- Подключение: ipa-client-install → pam‑конфигурация → тест SSH.
- Верификация: проверка логов и SSO/SSSD.
1‑строчный глоссарий
- FreeIPA — централизованное решение управления идентификацией (LDAP + Kerberos + DNS).
- Kerberos — протокол сетевой аутентификации, зависящий от синхронизации времени.
- SSSD — демон на клиенте для работы с LDAP/Kerberos и кеширования учетных данных.
Заключение
Вы успешно узнали, как добавить Ubuntu‑клиент в FreeIPA: от создания пользователя и DNS‑записи до установки клиента, настройки PAM и тестового входа по SSH. Следуйте чеклисту и runbook при возникновении проблем. Для массового развёртывания используйте автоматизацию (Ansible/CM).
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента