👨⚕️️ Как установить клиент FreeIPA на CentOS / RHEL 8 |

👨⚕️️ Как установить клиент FreeIPA на CentOS / RHEL 8

Мануал

Как установить и настроить клиент FreeIPA на CentOS / RHEL 8 ?

В нашем последнем руководстве мы рассмотрели установку сервера FreeIPA на RHEL / CentOS 8:

Как установить и настроить FreeIPA на Red Hat Linux

В этой статье будет рассказано, как установить клиент FreeIPA на CentOS / RHEL 8.

Клиент FreeIPA устанавливается на компьютерах, которые должны проходить аутентификацию на сервере FreeIPA.

  • SSH – сервер может хранить открытые ключи SSH, используемые как sshd, так и ssh
  • SUDO – сервер может предоставлять централизованную поддержку всем клиентам.
  • automount – сервер может хранить карты автомонтирования, используемые клиентскими autofs, дифференцированными по местоположению.
  • SELinux user map  – сервер может хранить политики для назначения пользователям различных ролей SELinux в зависимости от их группы или группы узлов.

Эти интеграции позволяют системному администратору удобно настраивать их централизованно на сервере FreeIPA.

Когда команда управления выполняется на клиентском компьютере, клиент FreeIPA отправляет ее на сервер, где она выполняется.

Установка FreeIPA Client на CentOS / RHEL 8

В RHEL / CentOS 8 клиент FreeIPA доступен в виде модуля AppStream.

$ sudo yum module list idm
 Updating Subscription Management repositories.
 Updating Subscription Management repositories.
 Last metadata expiration check: 0:16:51 ago on Sat 29 Dec 2018 09:52:44 AM EAT.
 Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
 Name         Stream             Profiles                                          Summary
 idm          DL1                adtrust, client, dns, server, default [d]         The Red Hat Enterprise Linux Identity Management system module
 idm          client [d]         default [d]                                       RHEL IdM long term support client module
 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Из вывода видно, что у нас есть DL1 и клиентские потоки.

Для получения дополнительной информации о клиентском потоке FreeIPA запустите:

sudo yum module info idm:client

Установите клиент FreeIPA в системе CentOS / RHEL 8, выполнив команду ниже в своем терминале.

sudo yum -y install @idm:client

Проверьте версию установленного ipa-клиента.

$ rpm -qi ipa-client
 Name        : ipa-client
 Version     : 4.7.1
 Release     : 1.el8+1957+d517d3b2
 Architecture: x86_64
 Install Date: Sat 29 Dec 2018 10:00:11 AM EAT
 Group       : System Environment/Base
 Size        : 293787
 License     : GPLv3+
 Signature   : RSA/SHA256, Tue 23 Oct 2018 09:19:02 AM EAT, Key ID 199e2f91fd431d51
 Source RPM  : ipa-4.7.1-1.el8+1957+d517d3b2.src.rpm
 Build Date  : Sun 07 Oct 2018 02:51:43 PM EAT
 Build Host  : x86-vm-07.build.eng.bos.redhat.com
 Relocations : (not relocatable)
 Packager    : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla
 Vendor      : Red Hat, Inc.
 URL         : https://www.freeipa.org/
 Summary     : IPA authentication for use on clients
 Description :
 IPA is an integrated solution to provide centrally managed Identity (users,
 hosts, services), Authentication (SSO, 2FA), and Authorization
 (host access control, SELinux user roles, services). The solution provides
 features for further integration with Linux based clients (SUDO, automount)
 and integration with Active Directory based infrastructures (Trusts).
 If your network uses IPA for authentication, this package should be
 installed on every client machine.
 This package provides command-line tools for IPA administrators.

Вы можете сделать то же самое для sssd.

$ rpm -qi sssd
 Name        : sssd
 Version     : 2.0.0
 Release     : 21.el8
 Architecture: x86_64
 Install Date: Wed 26 Dec 2018 10:54:09 AM EAT
 Group       : Applications/System
 Size        : 35147
 License     : GPLv3+
 Signature   : RSA/SHA256, Tue 16 Oct 2018 06:03:29 PM EAT, Key ID 199e2f91fd431d51
 Source RPM  : sssd-2.0.0-21.el8.src.rpm
 Build Date  : Tue 16 Oct 2018 03:25:43 PM EAT
 Build Host  : x86-vm-02.build.eng.bos.redhat.com
 Relocations : (not relocatable)
 Packager    : Red Hat, Inc. http://bugzilla.redhat.com/bugzilla
 Vendor      : Red Hat, Inc.
 URL         : https://pagure.io/SSSD/sssd/
 Summary     : System Security Services Daemon
 Description :
 Provides a set of daemons to manage access to remote directories and
 authentication mechanisms. It provides an NSS and PAM interface toward
 the system and a plug-gable back-end system to connect to multiple different
 account sources. It is also the basis to provide client auditing and policy
 services for projects like FreeIPA.
 The sssd sub-package is a meta-package that contains the daemon as well as all
 the existing back ends.

Настройка клиента FreeIPA на CentOS / RHEL 8

После завершения установки клиентских пакетов FreeIPA.

Добавьте имя хоста и IP-адрес вашего IPA-сервера в файл  /etc/hosts, если у вас нет рабочего DNS.

echo "192.168.58.121 ipa.example.com"| sudo tee /etc/hosts

Установите системное имя хоста.

export HNAME="rhel8.example.com"
sudo hostnamectl set-hostname $HNAME --static
sudo hostname $HNAME

Наконец, настройте клиент FreeIPA в вашей системе, выполнив команду ниже.

$ sudo ipa-client-install --hostname=rhel8.example.com \
 --mkhomedir \
 --server=ipa.example.com \
 --domain example.com \
 --realm EXAMPLE.COM

Где:

  • rhel8.example.com – Имя хоста клиента
  • ipa.example.com Имя хоста сервера FreeIPA
  • example.com – доменное имя, настроенное на сервере FreeIPA
  • EXAMPLE.COM – FreeIPA сервер Kerberos REALM

Ваша установка должна быть похожа на пример, показанный ниже.

This program will set up IPA client.
 Version 4.7.1
 Autodiscovery of servers for failover cannot work with this configuration.
 If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
 Proceed with fixed values and no DNS discovery? [no]: yes
 Client hostname: rhel8.example.com
 Realm: EXAMPLE.COM
 DNS Domain: example.com
 IPA Server: ipa.example.com
 BaseDN: dc=example,dc=com
 Continue to configure the system with these values? [no]: yes
 Synchronizing time
 No SRV records of NTP servers found and no NTP server or pool address was provided.
 Using default chrony configuration.
 Attempting to sync time with chronyc.
 Time synchronization was successful.
 User authorized to enroll computers: admin
 Password for admin@EXAMPLE.COM: <admin Password>
 Successfully retrieved CA cert
     Subject:     CN=Certificate Authority,O=EXAMPLE.COM
     Issuer:      CN=Certificate Authority,O=EXAMPLE.COM
     Valid From:  2019-03-24 10:12:55
     Valid Until: 2038-03-24 10:12:55
 Enrolled in IPA realm EXAMPLE.COM
 Created /etc/ipa/default.conf
 Configured sudoers in /etc/nsswitch.conf
 Configured /etc/sssd/sssd.conf
 Configured /etc/krb5.conf for IPA realm EXAMPLE.COM
 Systemwide CA database updated.
 Hostname (rhel8.local) does not have A/AAAA record.
 Failed to update DNS records.
 Missing A/AAAA record(s) for host rhel8.local: 192.168.122.198.
 Incorrect reverse record(s):
 192.168.122.198 is pointing to rhel8.example.com
 Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
 Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
 Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
 Could not update DNS SSHFP records.
 SSSD enabled
 Configured /etc/openldap/ldap.conf
 Configured /etc/ssh/ssh_config
 Configured /etc/ssh/sshd_config
 Configuring example.com as NIS domain.
 Client configuration complete.
 The ipa-client-install command was successful

Если у вас есть DNS-сервер, установщик клиента FreeIPA может обнаружить сервер FreeIPA и выполнить необходимую установку.

Эта команда все сделает :

sudo ipa-client-install

Этого должно быть достаточно для настройки клиентского компьютера.

Разрешите создание домашних каталогов при первом входе

Если домашний каталог пользователя не создается автоматически, включите эту функцию, выполнив следующую команду.

$ sudo authconfig --enablemkhomedir --update
...
Executing: /usr/bin/authselect check
Executing: /usr/bin/authselect current --raw
Executing: /usr/bin/authselect select sssd with-sudo with-mkhomedir --force
Executing: /usr/bin/systemctl enable oddjobd.service
Executing: /usr/bin/systemctl stop oddjobd.service
Executing: /usr/bin/systemctl start oddjobd.service

Проверьте, видна ли идентификация пользователя на сервере.

$ id josphat
uid=1676000008(josphat) gid=1676000008(josphat) groups=1676000008(josphat),1676000007(wheel-users)

Проверьте FreeIPA LDAP аутентификацию пользователя.

$ ssh test@localhost
Password: 
Password expired. Change your password now.
Current Password: 
New password: <Set new passwoird
Retype new password: 
Activate the web console with: systemctl enable --now cockpit.socket
[test1@ipa ~]$ id
uid=1201400003(test1) gid=1201400003(test1) groups=1201400003(test1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Использование инструмента управления командной строки FreeIPA ipa

Вы можете администрировать FreeIPA Server с клиентского компьютера с помощью инструмента командной строки.

Во-первых, получите билет Kerberos.

$ sudo kinit admin
Password for admin@EXAMPLE.COM:

Проверьте информацию об истечении срока действия билета, используя klist.

$ klist 
Ticket cache: KCM:0
Default principal: admin@EXAMPLE.COM
Valid starting       Expires              Service principal
03/24/2019 11:48:06  03/25/2019 11:48:04  krbtgt/EXAMPLE.COM@EXAMPLE.COM

Протестируйте, добавив учетную запись пользователя и список присутствующих учетных записей:

$ sudo ipa user-add test  --first=Test --last=User \
--email=test@example.com --password

Password: 
Enter Password again to verify: 
-------------------
 Added user "test"
-------------------
   User login: test
   First name: Test
   Last name: User
   Full name: Test User
   Display name: Test User
   Initials: TU
   Home directory: /home/test
   GECOS: Test User
   Login shell: /bin/bash
   Principal name: test@EXAMPLE.COM
   Principal alias: test@EXAMPLE.COM
   User password expiration: 20190324085532Z
   Email address: test@example.com
   UID: 1201400001
   GID: 1201400001
   Password: True
   Member of groups: ipausers
   Kerberos keys available: True

Убедитесь:

ipa user-find test

Включить аутентификацию без пароля с использованием закрытого ключа

Если вы хотите пройти аутентификацию на сервере без пароля, скопируйте ваш Открытый ключ на FreeIPA Server:

Нажмите кнопку «Add» в разделе «SSH public keys», вставьте свой открытый ключ и сохраните.

Как отменить регистрацию клиента с IPA-сервера на CentOS / RHEL 8

Удаление клиента FreeIPA в CentOS / RHEL 8 можно выполнить с помощью команды:

$ sudo ipa-client-install  --uninstall
Unenrolling client from IPA server
Removing Kerberos service principals from /etc/krb5.keytab
Disabling client Kerberos and LDAP configurations
Redundant SSSD configuration file /etc/sssd/sssd.conf was moved to /etc/sssd/sssd.conf.deleted
Restoring client configuration files
Unconfiguring the NIS domain.
nscd daemon is not installed, skip configuration
nslcd daemon is not installed, skip configuration
Systemwide CA database updated.
Client uninstall complete.
The original nsswitch.conf configuration has been restored.
You may need to restart services or reboot the machine.
Do you want to reboot the machine? [no]: 
The ipa-client-install command was successful

Заключение

Это все!

Клиент FreeIPA установлен и настроен в системе RHEL / CentOS 8.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий