In diesem Artikel zeige ich dir, wie du Linux-Logins (lokal und per SSH) zentral über deinen Samba AD realisieren kannst. Damit entfällt die manuelle Pflege lokaler Benutzer – stattdessen meldet man sich mit zentral verwalteten Konten am System an.
Du kannst z. B. in LAM das Schema ldapPublicKey aktivieren (unter Serverprofile → Konfiguration). Dann können pro Benutzer SSH-Schlüssel gepflegt werden.
Alternativ:
# Beispiel LDIF
dn: uid=testuser,ou=People,dc=example,dc=lan
changetype: modify
add: objectClass
objectClass: ldapPublicKey
-
add: sshPublicKey
sshPublicKey: ssh-ed25519 AAAAC3Nza... test@example
sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y
Bei der Konfiguration:
ldap://ad01.example.landc=example,dc=lancn=radiusbind,...Folgende Zeilen in /etc/nsswitch.conf prüfen:
passwd: files ldap
group: files ldap
shadow: files ldap
Damit LDAP-Benutzer sich anmelden können, müssen PAM-Module angepasst werden:
sudo pam-auth-update
Aktiviere: LDAP, Unix, home directory
In /etc/pam.d/common-session hinzufügen:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
Erstelle ein Skript /usr/local/bin/ldap-ssh-key.sh:
#!/bin/bash
USER=$1
ldapsearch -x -LLL -H ldap://ad01.example.lan \
-b "dc=example,dc=lan" \
"(&(objectClass=posixAccount)(uid=$USER))" sshPublicKey \
| grep '^sshPublicKey:' | cut -d ' ' -f2-
Mach es ausführbar:
chmod +x /usr/local/bin/ldap-ssh-key.sh
Passe /etc/ssh/sshd_config an:
AuthorizedKeysCommand /usr/local/bin/ldap-ssh-key.sh
AuthorizedKeysCommandUser nobody
Dann neu starten:
sudo systemctl restart sshd
Melde dich auf dem Zielsystem mit einem Benutzer aus dem AD an – z. B. per SSH. Falls alles korrekt ist, wird beim ersten Login automatisch ein Homeverzeichnis erstellt und der SSH-Key verwendet.
Mit diesen Schritten kannst du deine Linux-Systeme an die zentrale Benutzerverwaltung anbinden. Das reduziert Pflegeaufwand, erhöht Sicherheit und ermöglicht zentrale Kontrolle über SSH-Zugriffe.
Im nächsten Artikel schauen wir uns an, wie du mithilfe von Authentik zentrale SSO-Anmeldungen per SAML oder OpenID bei Diensten wie Portainer, Immich oder Nextcloud realisieren kannst.
Bleib dran!