Come configurare il client FreeIPA su Ubuntu/CentOS 7
Recentemente abbiamo trattato l'installazione di FreeIPA Server sul server Ubuntu. In questa guida, ti mostrerò come installare e configurare il client FreeIPA sul sistema Linux Ubuntu 22.04/20.04/18.04/16.04 e CentOS 7. FreeIPA è un sistema di gestione delle identità open source sponsorizzato da Red Hat. Ha lo scopo di fornire un'identità, una politica e un controllo facilmente gestibili.
Per Vanilla LDAP, utilizza: Come configurare il client LDAP su Ubuntu
Prerequisito di configurazione:
- Installa il server FreeIPA
- Ubuntu 22.04/20.04/18.04/16.04/CentOS 7 installato e aggiornato
- Accesso root
Se non hai il server FreeIPA pronto, controlla:
- Come installare FreeIPA Server su Ubuntu
- Come installare FreeIPA Server su CentOS 7
Una volta completata l'installazione di FreeIPA Server, configura il client FreeIPA utilizzando i passaggi descritti qui.
Passaggio 1: aggiorna il sistema
Iniziamo sempre le configurazioni del server eseguendo un aggiornamento dei pacchetti di sistema:
Ubuntu:
sudo apt update && sudo apt -y full-upgrade
[ -f /var/run/reboot-required ] && sudo reboot -f
CentOS:
Aggiorna CentOS con i seguenti comandi:
sudo yum -y update
Se ricevi aggiornamenti del kernel, considera di riavviare il server affinché le modifiche abbiano luogo.
Configura un nome host client valido (FQDN):
sudo hostnamectl set-hostname node-01.computingforgeeks.com
Passaggio 2: installa il client FreeIPA
Il client FreeIPA è disponibile sui repository per Ubuntu/CentOS Linux. Installalo utilizzando il comando:
Ubuntu:
Di seguito sono riportati i comandi che utilizzerai per installare FreeIPA Client sul sistema Ubuntu.
sudo apt install freeipa-client
CentOS 7:
Installa FreeIPA Client su CentOS 7 con il comando seguente.
sudo yum -y install ipa-client
Quando ti viene richiesto di fornire un realm Kerberos per il server, salta semplicemente premendo il tasto <Invio> .
Installa il client FreeIPA su CentOS 7
Esegui il comando seguente per installare il client FreeIPA su CentOS 7.
sudo yum install ipa-client
Questo verrà configurato nel passaggio successivo:
Passaggio 3: configura il client FreeIPA
Una volta completata l'installazione del pacchetto client. Aggiungi il nome host e l'indirizzo IP del tuo server IPA al file /etc/hosts:
$ sudo vim /etc/hosts
# Add FreeIPA Server IP and hostname
192.168.58.121 ipa.computingforgeeks.com ipa
Sostituire :
- 192.168.58.121 Indirizzo IP della tua replica FreeIPA o del server master.
- ipa.computingforgeeks.com con il suo nome host:
Quindi configura il client IPA su questo server in modo che gli utenti possano iniziare ad autenticarsi su di esso:
$ sudo ipa-client-install --hostname=`hostname -f` \
--mkhomedir \
--server=ipa.computingforgeeks.com \
--domain computingforgeeks.com \
--realm COMPUTINGFORGEEKS.COM
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: node-01.computingforgeeks.com
Realm: COMPUTINGFORGEEKS.COM
DNS Domain: computingforgeeks.com
IPA Server: ipa.computingforgeeks.com
BaseDN: dc=computingforgeeks,dc=com
Questo inizierà a configurare il client FreeIPA sul tuo server:
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 :
Successfully retrieved CA cert
Subject: CN=Certificate Authority,O=COMPUTINGFORGEEKS.COM
Issuer: CN=Certificate Authority,O=COMPUTINGFORGEEKS.COM
Valid From: 2018-06-30 08:27:06
Valid Until: 2038-06-30 08:27:06
Enrolled in IPA realm COMPUTINGFORGEEKS.COM
Created /etc/ipa/default.conf
New SSSD config will be created
Configured sudoers in /etc/nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm COMPUTINGFORGEEKS.COM
trying https://ipa.computingforgeeks.com/ipa/json
.......................
Se tutto è andato come previsto, dovresti ricevere un messaggio di successo come quello riportato di seguito:
The ipa-client-install command was successful
Passaggio 4: abilita mkhomedir (solo per Ubuntu )
Per impostazione predefinita, il servizio sssd non creerà una directory home per l'utente al primo accesso, dobbiamo abilitare questa funzione modificando il file di configurazione 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
Quindi esegui:
sudo pam-auth-update
Seleziona
Assicurati che "attiva mkhomedir" sia selezionato, dovrebbe avere [*]
Quindi seleziona
Passaggio 4: testare il client FreeIPA
Ora che abbiamo tutto ciò di cui abbiamo bisogno per la configurazione, creiamo un account utente di prova su FreeIPA Server e proviamo ssh sul client con l'account utente aggiunto. Puoi aggiungere un account al server FreeIPA dall'interfaccia utente o dalla CLI
Aggiungi account utente dalla CLI:
Accedi al server FreeIPA e ottieni un ticket Kerberos per l'utente amministratore:
$ kinit admin
Password for [email :
Inserisci la password dell'amministratore quando richiesto. Conferma di avere un ticket attivo utilizzando il comando:
$ klist
Ticket cache: KEYRING:persistent:0:0
Default principal: [email
Valid starting Expires Service principal
06/30/2018 09:33:40 07/01/2018 09:33:37 krbtgt/[email
Aggiungi utente a FreeIPA:
- Imposta la shell predefinita su /bin/bash per tutti gli account:
sudo ipa config-mod --defaultshell=/bin/bash
- Creare un utente
$ ipa user-add jmutai --first=Josphat \
--last=Mutai --email=[email --password
Password:
Enter Password again to verify:
-------------------
Added user "jmutai"
-------------------
User login: jmutai
First name: Josphat
Last name: Mutai
Full name: Josphat Mutai
Display name: Josphat Mutai
Initials: JM
Home directory: /home/jmutai
GECOS: Josphat Mutai
Login shell: /bin/bash
Principal name: [email
Principal alias: [email
Email address: [email
UID: 32200001
GID: 32200001
Password: True
Member of groups: ipausers
Kerberos keys available: True
Accedi al cliente registrato e controlla l'esistenza dell'utente:
root@node-01:~# id jmutai
uid=32200001(jmutai) gid=32200001(jmutai) groups=32200001(jmutai)
You can confirm the existence of a user with ID 32200001
root@node-01:~# ssh jmutai@localhost
The authenticity of host 'localhost (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:y4GzK0NLDHF+g8pKNstpPq0Z6Gui+4jq/0WjtqKf5CE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
Creating directory '/home/jmutai'.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Jun 30 10:04:49 UTC 2018
jmutai@node-01:~$ id
uid=32200001(jmutai) gid=32200001(jmutai) groups=32200001(jmutai)
Aggiungi l'account utente a FreeIPA dall'interfaccia utente:
Per aggiungere un account sull'interfaccia utente Web, accedi all'interfaccia Web di FreeIPA e vai a:
Identità > Utenti > Utenti attivi > Aggiungi
Fai clic sul pulsante Aggiungi per aggiungere l'utente.
Abilita l'autenticazione senza password utilizzando la chiave privata
Se desideri autenticarti su un server senza password, copia la tua chiave pubblica sul server FreeIPA:
Fai clic sul pulsante Aggiungi sotto "Chiavi pubbliche SSH", incolla la chiave pubblica nella casella e salva.
Guide correlate:
- Installa e configura il client FreeIPA su CentOS/RHEL 8
- Come configurare l'autenticazione GitLab FreeIPA
- Integrazione Harbour Registry FreeIPA per l'autenticazione dell'utente
- Configurazione della replica FreeIPA