SSSD-service start niet na koppelen van Ubuntu aan Active Directory: ontbrekend /etc/krb5.keytab
Categories:
Overzicht
De System Security Services Daemon (SSSD) is een service die toegang biedt tot identiteits- en authenticatieresources van externe directories, zoals Active Directory. Het stelt Ubuntu-systemen in staat te integreren met Windows-domeinen voor gebruikersauthenticatie en -autorisatie. SSSD beheert taken zoals het cachen van credentials, offline-ondersteuning en beheer van Kerberos-tickets.
Deze documentatie behandelt een veelvoorkomend probleem waarbij de SSSD-service niet start
op Ubuntu-nodes, zoals pxd-gitlab, ondanks dat de node succesvol aan het domein is gekoppeld.
De hoofdoorzaak is vaak een ontbrekend pakket genaamd PackageKit, dat een hoog-niveau
pakketbeheertool is die pakketinstallatie abstraheert over verschillende backends (bijv. APT voor Debian-gebaseerde systemen). PackageKit is
vereist voor bepaalde SSSD-afhankelijkheden en automatische pakketafhandeling tijdens
domeinkoppelingen.
Symptomen
Het provisionen van nodes zoals pxd-gitlab met Ansible mislukt bij de Restart sssd
handler:
RUNNING HANDLER [c2platform.core.linux : Restart sssd] *************************
fatal: [pxd-gitlab]: FAILED! =>
changed: false
msg: |-
Unable to start service sssd: Job for sssd.service failed because the control process exited with error code.
See "systemctl status sssd.service" and "journalctl -xeu sssd.service" for details.
De node is succesvol aan het domein gekoppeld, zoals geverifieerd met realm list en
realm join C2.ORG:
vagrant@pxd-gitlab:~$ sudo su -
root@pxd-gitlab:~# realm list
c2.org
type: kerberos
realm-name: C2.ORG
domain-name: c2.org
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U
login-policy: allow-realm-logins
root@pxd-gitlab:~# realm join C2.ORG
realm: Already joined to this domain
of
vagrant@pxd-gitlab:~$ echo "Supersecret!" | realm join --user=tony C2.ORG
realm: Already joined to this domain
Het inspecteren van de service met systemctl status sssd.service toont aan dat het
keytab-bestand /etc/krb5.keytab ontbreekt:
vagrant@pxd-gitlab:~$ sudo systemctl status sssd.service
× sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Tue 2026-02-10 10:56:45 UTC; 11s ago
Process: 13970 ExecStart=/usr/sbin/sssd -i ${DEBUG_LOGGER} (code=exited, status=1/FAILURE)
Main PID: 13970 (code=exited, status=1/FAILURE)
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: krb5_kt_start_seq_get failed: Key table file '/etc/krb5.keytab' not found
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: krb5_kt_start_seq_get failed: Key table file '/etc/krb5.keytab' not found
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: krb5_kt_start_seq_get failed: Key table file '/etc/krb5.keytab' not found
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: krb5_kt_start_seq_get failed: Key table file '/etc/krb5.keytab' not found
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: krb5_kt_start_seq_get failed: Key table file '/etc/krb5.keytab' not found
Feb 10 10:56:45 pxd-gitlab sssd_be[13986]: Failed to read keytab [FILE:/etc/krb5.keytab]: No suitable principal found in keyt>
Feb 10 10:56:45 pxd-gitlab sssd[13970]: Exiting the SSSD. Could not restart critical service [c2.org].
Feb 10 10:56:45 pxd-gitlab systemd[1]: sssd.service: Main process exited, code=exited, status=1/FAILURE
Feb 10 10:56:45 pxd-gitlab systemd[1]: sssd.service: Failed with result 'exit-code'.
Feb 10 10:56:45 pxd-gitlab systemd[1]: Failed to start sssd.service - System Security Services Daemon.
Een ander symptoom is dat een vergelijkbare configuratie werkt op nodes zoals
pxd-ubuntu-devtop, waarbij het belangrijkste verschil de aanwezigheid van het
ubuntu-desktop-pakket is, dat PackageKit bevat.
Bovendien toont inloggen op de pxd-ad-node en controleren van Active Directory
Users and Computers geen Computer-item voor pxd-gitlab. Dit komt
doordat de SSSD-service niet goed functioneert.
Review
De Ansible-code die verantwoordelijk is voor het uitvoeren van de domeinkoppelopdracht is:
138 type: shell
139 cmd: |
140 systemctl restart systemd-resolved sssd sshd
141 echo "{{ px_ad_admin_password }}" \
142 | realm join --user={{ px_ad_domain_name_admin }} {{ px_ad_domain_name | upper }}
143 touch /etc/domain_joined
144 label: >-
145 realm join --user={{ px_ad_domain_name_admin }} {{ px_ad_domain_name | upper }}
146 creates: /etc/domain_joined
147 - name: /etc/sssd/sssd.conf # TODO C2-839
Oplossing
De hoofdoorzaak is het ontbrekende packagekit-pakket, dat noodzakelijk is voor SSSD
om bepaalde afhankelijkheden af te handelen tijdens het domeinkoppelproces. Na het toevoegen van dit
pakket aan de Ansible-configuratie voor Ubuntu-provisioning-nodes zoals
pxd-gitlab, werkt de setup zonder problemen.
3bootstrap_packages:
4 kerberos:
5 - name:
6 - realmd
7 - sssd
8 - sssd-ad
9 - sssd-krb5
10 - krb5-user
11 - adcli
12 - policykit-1 # GUI? move to ubuntu_devtop?
13 - packagekit # required for SSSD
14 - sssd-tools
15 - libnss-sss
16 - libpam-sss
17 - bind9-utils # for nsupdate
18 - samba-common-bin # for troubleshooting
19 type: os
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.