Debian 9/stretch als freeipa client

Freeipa ist eine bequeme Möglichkeit im Linux/Unix-Umfeld eine zentrale Verwaltung von Benutzer und Zugriffsrechte mittels Kerberos, LDAP und Zertifikatsmanagement zu realisieren. Da es jedoch unter Debian noch nicht den freeipa-client gibt (wie bei Centos/Fedora/Ubuntu), der die Einrichtung übernimmt, muss etwas mehr selber Hand angelegt werden.

Voraussetzungen

  • Der Hostname sollte den vollständigen Domainnamen enthalten, und der Domainname sollte der/einer der von freeipa verwalteten Domains sein.
  • Die DNS-Server die von freeipa verwaltet werden sollten genutzt werden

Installation:

Nach der folgenden Anleitung

Auf den freeipa-Server

kinit admin
ipa host-add –ip-address=IP-des-neues-Clients hostnamen-mit-fqdn
ipa host-add-managedby –hosts=ipa.server.domain hostnamen-mit-fqdn
ipa-getkeytab -s ipa.server.domain -p host/ hostnamen-mit-fqdn -k /tmp/name.keytab

Bei weiteren IP-Adressen (z.B. IPv4 und IPv6), kann die im Webinterface bei den Zonen ergänzt werden.

Admin

Kopieren der Datei in /tmp vom ipa-Server beim client nach /etc/krb5.keytab

Auf dem neuen Client

`aptitude install sssd krb5-user Dabei falls nicht automatisch erkannt den REALM richtig eingeben.

Die beiden folgenden Zeilen in der etcssh/sshd.conf einfügen für die automatische Verteilung der SSH-Keys:

AuthorizedKeysCommand   /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser nobody

Optional auch Login über Kerberos ermöglichen indem man GSSAPIAuthentication ermöglicht

Die /etc/krb5.conf kontrollieren, sollte grob wie folgt aussehen (mit NAME = Kerberos-Realm):

[libdefaults]
 canonicalize = true
 default_realm = NAME
 dns_lookup_realm = false
 dns_lookup_kdc = true
 rdns = false
 ticket_lifetime = 24h
 forwardable = true
 udp_preference_limit = 0
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
 NAME = {
  kdc = freeipa.server.domain:88
  master_kdc = freeipa.server.domain:88
  admin_server = freeipa.server.domain:749
  default_domain = name
 }

[domain_realm]
 .name = NAME
 name = NAME
 name = NAME

[dbmodules]
  NAME = {
    db_library = ipadb.so
  }

die /etc/sssd/sssd.conf sollte etwa so aussehen: [sssd] services = sudo, nss, pam, ssh domains = auth.doppelgrau.de config_file_version = 2 #debug_level = 7

[domain/name]
#debug_level = 0x07F0
cache_credentials = True
krb5_store_password_if_offline = True
ipa_domain = name
id_provider = ipa
auth_provider = ipa
access_provider = ipa
chpass_provider = ipa
ipa_server = ipa.server.domain

[nss]
memcache_timeout = 600
homedir_substring = /home

[pam]
#debug_level = 7

[sudo]
#debug_level = 7

[ssh]

chmod 600 /etc/sssd/sssd.conf ausführen

Für automatische homedirs: aptitude install libpam-mkhomedir Die Datei/usr/share/pam-configs/mkhomedir` mit folgenden Inhalt anlegen

Name: Create home directory during login
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required        pam_mkhomedir.so umask=0022 skel=/etc/skel

pam-auth-update ausführen

Danach am einfachsten reboot, damit alles sicher übernommen wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.