Ein wichtiges Element moderner IT-Infrastrukturen ist die Möglichkeit für Benutzer, einfache Aufgaben selbst zu erledigen – ohne dass ein Administrator eingreifen muss. In diesem Artikel zeige ich dir, wie du mit Authentik ein Self-Service-Portal einrichtest, mit dem Benutzer unter anderem ihr Passwort ändern oder ihren SSH-Schlüssel aktualisieren können.

Ziel

  • Passwort-Änderung durch Benutzer
  • SSH-Key-Upload über Webinterface
  • Benutzerfreundliches Self-Service-Portal

Voraussetzungen

  • Ein laufender Authentik-Server (siehe Artikel 4)
  • LDAP-Anbindung an dein Samba AD
  • Ein eingerichtetes Benutzerverzeichnis (z. B. ou=People,...)

Schritt 1: Authentik Self-Service aktivieren

Authentik bringt von Haus aus ein Self-Service-Portal mit. Um dieses zu nutzen:

  1. Melde dich im Admin-Interface von Authentik an.
  2. Gehe zu Directory → User Settings.
  3. Aktiviere:

    • ✨ "Allow users to change their password"
    • ✨ "Allow users to manage SSH keys"

Falls "SSH keys" nicht sichtbar ist, muss ggf. ein passendes Attribut (sshPublicKey) konfiguriert werden. Dies erfolgt über ein benutzerdefiniertes Schema.

Schritt 2: Benutzeroberfläche anpassen

Das Authentik-Portal ist standardmäßig erreichbar unter:

https://auth.example.lan/if/user-settings/

Hier können sich Benutzer mit ihren LDAP-Zugangsdaten anmelden und ihre Einstellungen verwalten. Du kannst das Portal anpassen:

  • Logo & Farben ändern (unter Interface → Branding)
  • Bestimmte Felder ein-/ausblenden (unter Flow → User Settings)

Schritt 3: SSH-Key-Feld mit LDAP verbinden

Damit Benutzer ihre SSH-Keys eintragen können, brauchst du ein Mapping:

  1. Gehe zu Property Mappings → LDAP.

  2. Erstelle ein neues Mapping:

    Name: ssh-key-write
    Expression: return user.attributes['sshPublicKey']
  3. Füge dieses Mapping zur Write-Group deines LDAP-Provider-Backends hinzu.

Jetzt können Benutzer ihren Key ändern, und Authentik schreibt ihn ins LDAP.

Beispielkonfiguration:

ldap:
  write_mappings:
    - name: ssh-key-write
      expression: return user.attributes['sshPublicKey']

Sicherheit und Kontrolle

  • Optional: SSH-Key-Validierung durch Regex o. ä. möglich
  • Optional: Limitierung auf eine bestimmte Domain, Gruppe oder Flow-Stage

Troubleshooting

Problem: SSH-Key wird nicht gespeichert

  • Prüfe, ob sshPublicKey als Attribut im LDAP vorhanden ist
  • Stelle sicher, dass das Mapping korrekt zugeordnet wurde

Problem: Benutzer kann Passwort nicht ändern

  • Vergewissere dich, dass der Benutzer Schreibrechte im LDAP hat
  • Prüfe, ob der Directory-Connector korrekt konfiguriert ist

Problem: Oberfläche zeigt keine SSH-Funktion

  • Aktivierung in "User Settings" prüfen
  • Benutzerdefiniertes Schema einbinden (ldapPublicKey)

Fazit

Mit wenigen Klicks lässt sich mit Authentik ein komfortables Self-Service-Portal aufbauen. Benutzer können damit selbstständig Passwörter ändern oder SSH-Schlüssel verwalten – ohne Helpdesk oder manuellen Aufwand.

Im nächsten Artikel schauen wir uns an, wie du eine Zwei-Faktor-Authentifizierung für SSH und Webdienste realisierst.

Vorheriger Beitrag Nächster Beitrag