FreeIPA es un sistema de gestión de identidades de código abierto patrocinado por Red Hat. Su objetivo es proporcionar una identidad, una política y una auditoría fáciles de administrar.
Estas integraciones permiten que un administrador del sistema configure convenientemente el servidor de forma centralizada, en el servidor FreeIPA. Cuando se ejecuta un comando de administración en la máquina del Cliente, el cliente FreeIPA lo envía al servidor donde se ejecuta.
Contenido relacionado
- Cómo administrar usuarios y grupos en FreeIPA Server
- Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8
- Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8
- Cómo instalar el cliente FreeIPA en Fedora 35
Requisitos
Para seguir, asegúrese de tener lo siguiente
- Un servidor/estación de trabajo Ubuntu 20.04 actualizado
- Un servidor FreeIPA al que se unirá el cliente
- Acceso Sudo al servidor o usuario con acceso Sudo
- Acceso a Internet desde el servidor
Tabla de contenido
- Actualizar sistema
- Instalación de paquetes FreeIPA
- Configuración del cliente
- Habilitar la creación de directorios de inicio en el primer inicio de sesión
- Adición de cliente de prueba
- Uso de la herramienta de administración de línea de comandos ipa de FreeIPA
- Habilitar la autenticación sin contraseña mediante clave privada
- Eliminación del cliente FreeIPA
1. Actualizar sistema
Asegúrese de que los paquetes del sistema estén actualizados
sudo apt update
sudo apt upgrade
2. Instalación de paquetes FreeIPA
El cliente FreeIPA está disponible en repositorios para Ubuntu. Instálalo usando el comando:
sudo apt install -y freeipa-client
Cuando se le solicite que proporcione un reino de Kerberos para el servidor, simplemente omita presionando <Enter> clave.
Confirme la adición del cliente usando este comando
$ apt-cache policy freeipa-client
freeipa-client:
Installed: 4.8.6-1ubuntu2
Candidate: 4.8.6-1ubuntu2
Version table:
*** 4.8.6-1ubuntu2 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
100 /var/lib/dpkg/status
2. Configurando cliente
Una vez que se complete la instalación de los paquetes de FreeIPA Client. Agregue el nombre de host y la dirección IP de su servidor IPA a /etc/hosts archivo si no tiene una resolución de DNS que funcione.
Abra el archivo de hosts con su cliente:
sudo vim /etc/hosts
Luego agregue esto:
10.2.40.149 ipa.citizix.com 10.2.40.70 ubuntu-client.citizix.com
Configure el nombre de host de su sistema.
sudo hostnamectl set-hostname ubuntu-client.citizix.com
Actualice la zona horaria a su zona horaria:
sudo timedatectl set-timezone Africa/Nairobi
Luego podemos configurar el cliente especificando el servidor FreeIPA y el nombre de dominio
sudo ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com
También puede agregar más argumentos especificando el nombre de host, el servidor, el dominio y el reino del cliente ipa como en este ejemplo.
sudo ipa-client-install --hostname=fedora-client.citizix.com \
--mkhomedir \
--server=ipa.citizix.com \
--domain ipa.citizix.com \
--realm IPA.CITIZIX.COM
Esta es mi salida. Deberías ver algo similar a esto
$ sudo ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com
This program will set up FreeIPA client.
Version 4.8.6
WARNING: conflicting time&date synchronization service 'ntp' will be disabled in favor of chronyd
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
Do you want to configure chrony with NTP server or pool address? [no]: no
Client hostname: ubuntu-client.citizix.com
Realm: IPA.CITIZIX.COM
DNS Domain: ipa.citizix.com
IPA Server: ipa.citizix.com
BaseDN: dc=ipa,dc=citizix,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 [email protected]:
Successfully retrieved CA cert
Subject: CN=Certificate Authority,O=IPA.CITIZIX.COM
Issuer: CN=Certificate Authority,O=IPA.CITIZIX.COM
Valid From: 2021-11-09 05:42:01
Valid Until: 2041-11-09 05:42:01
Enrolled in IPA realm IPA.CITIZIX.COM
Created /etc/ipa/default.conf
Configured sudoers in /etc/nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm IPA.CITIZIX.COM
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Adding SSH public key from /etc/ssh/ssh_host_dsa_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 ipa.citizix.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful
3. Habilite la creación de directorios de inicio en el primer inicio de sesión
De forma predeterminada, el servicio sssd no creará un directorio de inicio para el usuario en el primer inicio de sesión, debemos habilitar esta función modificando el archivo de configuración de PAM.
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF Name: activate mkhomedir Default: yes Priority: 900 Session-Type: Additional Session: required pam_mkhomedir.so umask=0022 skel=/etc/skel EOF
Luego ejecuta:
sudo pam-auth-update
Asegúrese de “activar mkhomedir” está seleccionado, debe tener [*]. Seleccione
4. Adición de cliente de prueba
Para probar que el cliente se agregó correctamente, iniciemos sesión con un usuario en freeipa. Si es la primera vez que inicia sesión, debería ver un aviso de cambio de contraseña; de lo contrario, verá esto:
$ ssh [email protected]
([email protected]) Password:
Last login: Sat Nov 13 08:29:12 2021 from 10.2.40.174
[[email protected] ~]$
Puede administrar el servidor FreeIPA desde la máquina cliente utilizando la herramienta de línea de comandos ipa.
Primero, obtenga un ticket de Kerberos.
$ kinit admin Password for [email protected]:
Verifique la información de caducidad del boleto usando klist.
$ klist Ticket cache: KEYRING:persistent:1000:1000 Default principal: [email protected] Valid starting Expires Service principal 11/14/21 16:40:33 11/15/21 16:40:16 krbtgt/[email protected]
Pruebe agregando una cuenta de usuario y enumerando las cuentas presentes:
$ sudo ipa user-add kip \
--first=Kipkoech \
--last=Towett \
[email protected] \
--password
Password:
Enter Password again to verify:
----------------
Added user "kip"
----------------
User login: kip
First name: Kipkoech
Last name: Towett
Full name: Kipkoech Towett
Display name: Kipkoech Towett
Initials: KT
Home directory: /home/kip
GECOS: Kipkoech Towett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
User password expiration: 20211112183007Z
Email address: [email protected]
UID: 1063800003
GID: 1063800003
Password: True
Member of groups: ipausers
Kerberos keys available: True
Verificar.
$ ipa user-find kip -------------- 1 user matched -------------- User login: kip First name: Kipkoech Last name: Towett Home directory: /home/kip Login shell: /bin/bash Principal name: [email protected] Principal alias: [email protected] Email address: [email protected] UID: 1063800003 GID: 1063800003 Account disabled: False ---------------------------- Number of entries returned 1 ----------------------------
6. Habilitar la autenticación sin contraseña mediante clave privada
Si desea autenticarse en un servidor sin contraseña, copie su clave pública en el servidor FreeIPA. En el perfil de usuario, haz clic en Añadir botón debajo de "Claves públicas SSH “, pega tu clave pública en el cuadro y guarda.
7. Eliminación del cliente FreeIPA
La eliminación del cliente FreeIPA en Ubuntu se puede realizar ejecutando el comando:
$ sudo ipa-client-install --uninstall
Conclusión
En esta guía, logramos instalar y configurar el cliente FreeIPA en Ubuntu 20.04.