Autentisering via LDAP och Kerberos i CentOS 7: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
Line 88: Line 88:
Spara sen nycklarna i filen /etc/krb5.keytab:
Spara sen nycklarna i filen /etc/krb5.keytab:
{{bc|kadmin: ktadd -k /etc/krb5.keytab host/host.example.com@EXAMPLE.COM}}
{{bc|kadmin: ktadd -k /etc/krb5.keytab host/host.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.


[[Category:Guide]]
[[Category:Guide]]

Revision as of 14:05, 25 October 2015

Denna guide är under utveckling.

Installera följande:

root # yum install krb5-workstation pam_krb5 nss-pam-ldapd

Spara undan befintlig settings:

root # authconfig --savebackup=original

Kopiera CA cert till /etc/openldap/cacerts.

root # authconfig --enableldap --ldapserver="ldap://ns1.kerwien.se/" --ldapbasedn="dc=kerwien,dc=se" --enableldapstarttls --enablekrb5 --krb5kdc="ns1.kerwien.se" --krb5adminserver="ns1.kerwien.se" --krb5realm="KERWIEN.SE" --enablecache --update

Om certifikatet adderas till cacerts mappen efter authconfig kommandot måste följande kommandon köras:

root # cacertdir_rehash /etc/openldap/cacerts
root #
systemctl restart nslcd

Kerberos

Installera följande:

root # yum install krb5-workstation pam_krb5 sssd

Spara undan befintlig settings:

root # authconfig --savebackup=original

Enable:a autentisering via Kerberos:

root # authconfig --enablekrb5 --krb5kdc="ns.example.com" --krb5adminserver="ns.example.com" --krb5realm="EXAMPLE.COM" --update

Testa att du kan skaffa en Kerberos ticket.

SSSD

Editera /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
root # chmod 600 /etc/sssd/sssd.conf

Kopiera ditt CA certifikat till filen /etc/openldap/cacerts/example.com-ca.crt, kör sedan kommandot:

root # cacertdir_rehash /etc/openldap/cacerts

Starta sssd:

root # systemctl enable sssd
root #
systemctl start sssd

Enable:a användarinformation via SSSD:

root # authconfig --enablesssd --update

Kontrollera med:

root # getent passwd
root #
getent group

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:

root # kadmin -p kadmin/admin

Kör kadmin kommandot:

kadmin: addprinc -randkey host/host.example.com@EXAMPLE.COM

Spara sen nycklarna i filen /etc/krb5.keytab:

kadmin: ktadd -k /etc/krb5.keytab host/host.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.