Autentisering via LDAP och Kerberos i CentOS 7
Denna guide visar hur man sätter upp autentisering via LDAP/Kerberos i CentOS 7. I guiden heter Kerberos realm EXAMPLE.COM och servern med Kerberos och LDAP heter ns.example.com. Klienten vi sätter upp heter client.example.com.
Kerberos
Installera följande:
Spara undan befintlig settings:
Enable:a autentisering via Kerberos:
Testa att du kan skaffa en Kerberos ticket.
SSSD
Istället för nslcd använder vi oss av den nyare sssd. Editera filen /etc/sssd/sssd.conf:
[sssd] config_file_version = 2 services = nss domains = LOCAL, example.com [nss] filter_groups = root filter_users = root reconnection_retries = 3 entry_cache_timeout = 300 entry_cache_nowait_percentage = 75 [domain/LOCAL] id_provider = local auth_provider = local access_provider = permit [domain/example.com] enumerate = true auth_provider = krb5 krb5_server = ns.example.com krb5_realm = EXAMPLE.COM cache_credentials = true access_provider = simple chpass_provider = krb5 id_provider = ldap ldap_uri = ldap://ns.example.com ldap_search_base = dc=example,dc=com ldap_id_use_start_tls = true ldap_tls_cacert = /etc/openldap/cacerts/example.com-ca.crt sudo_provider = none
Kopiera ditt CA certifikat till filen /etc/openldap/cacerts/example.com-ca.crt, kör sedan kommandot:
Starta sssd:
Enable:a användarinformation via SSSD:
Kontrollera med:
SSH
Inloggning via SSH ska fungera nu, men man måste alltid ange lösenordet. För att kunna logga in via existerande Kerberos ticket, så behövs en host keytab fil. Logga in mot din KDC med admin-konto som har rättighet att skapa Kerberos principals:
Kör kadmin kommandot:
kadmin: addprinc -randkey host/client.example.com@EXAMPLE.COM
Spara sen nycklarna i filen /etc/krb5.keytab:
kadmin: ktadd -k /etc/krb5.keytab host/client.example.com@EXAMPLE.COM
Logga ut ifrån kadmin. Nu kan du logga in via SSH utan att ange lösenordet om du redan har en giltig Kerberos ticket.