ipa-client-install command automatically configures services like Kerberos, SSSD, PAM, and NSS. However, if the ipa-client-install command cannot be used on a system for some reason, then the IPA client entries and the services can be configured manually.
$ ipa host-add --force --ip-address=192.168.166.31 client1.example.com
$ kinit admin
$ ipa host-add-managedby --hosts=ipaserver.example.com client1.example.com
# ipa-getkeytab -s ipaserver.example.com -p host/client1.example.com -k /tmp/client1.keytab
/etc/krb5.ketab.
/etc/krb5.ketab that should be preserved, the two files can be combined using ktutil.
/etc/krb5.ketab file.
chown root:root 0600 system_u:object_r:krb5_keytab_t:s0
/etc/sssd/sssd.conf file to point to the IPA domain.
[sssd] config_file_version = 2 services = nss, pam domains = example.com [nss] [pam] [domain/example.com] cache_credentials = True krb5_store_password_if_offline = True ipa_domain = example.com id_provider = ipa auth_provider = ipa access_provider = ipa ipa_hostname = client1.example.com chpass_provider = ipa ipa_server = ipaserver.example.com ldap_tls_cacert = /etc/ipa/ca.crt
vim /etc/nsswitch.conf ... passwd: files sss shadow: files sss group: files sss ... netgroup: files sss ...
/etc/krb5.conf file to point to the IPA KDC.
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
rdns = false
ticket_lifetime = 24h
forwardable = yes
allow_weak_crypto = true
[realms]
EXAMPLE.COM = {
kdc = ipaserver.example.com:88
admin_server = ipaserver.example.com:749
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM/etc/pam.d configuration to use the pam_sss.so modules.
/etc/pam.d/fingerprint-auth:
... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... session optional pam_sss.so
/etc/pam.d/system-auth:
... auth sufficient pam_sss.so use_first_pass ... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... password sufficient pam_sss.so use_authtok ... session optional pam_sss.so
/etc/pam.d/password-auth:
... auth sufficient pam_sss.so use_first_pass ... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... password sufficient pam_sss.so use_authtok ... session optional pam_sss.so
/etc/pam.d/smartcard-auth:
... account [default=bad success=ok user_unknown=ignore] pam_sss.so ... session optional pam_sss.so
/etc/sysconfig/nfs file.
RPCGSSDARGS="-vvv" RPCSVCGSSDARGS="-vvv"
# ipa service-add nfs/ipaclient.example.com@EXAMPLEipa command is available.
# ipa-getkeytab -s ipaserver.example.com -p nfs/ipaclient.example.com@EXAMPLE -k /tmp/krb5.keytab
-e des-cbc-crc option to the ipa-getkeytab command for any nfs/<FQDN> service keytabs to set up, both on the server and on all clients. This instructs the KDC to generate only DES keys.
allow_weak_crypto option enabled in the [libdefaults] section of the /etc/krb5.conf file. Without these configuration changes, NFS clients and servers are unable to authenticate to each other, and attempts to mount NFS filesystems may fail. The client's rpc.gssd and the server's rpc.svcgssd daemons may log errors indicating that DES encryption types are not permitted.
# scp /tmp/krb5.keytab root@nfs.example.com:/etc/krb5.keytab
# scp /tmp/krb5.keytab root@client.example.com:/etc/krb5.keytab
/etc/exports file on the NFS server.
/ipashare gss/krb5p(rw,no_root_squash,subtree_check,fsid=0)
-o sec setting as is used in the /etc/exports file for the NFS server.
[root@client ~]# mount -v -t nfs4 -o sec=krb5p nfs.example.com:/ /mnt/ipashare