
Ich habe einen Keycloak-Server eingerichtet und arbeite daran, ihn in einen Linux-Server zu integrieren, damit sich Keycloak-Benutzer mit ihren Keycloak-Anmeldeinformationen beim Linux-Server authentifizieren können.
Idealerweise hätte ich es gerne so, dass beim Ausführen des ssh server-name@server-ip
Befehls durch die Benutzer eine Keycloak-Anmeldeseite geöffnet wird, auf der sie ihre Anmeldeinformationen eingeben und auf das System zugreifen können.
Meine Recherchen führten mich zu PAM als Möglichkeit, die Keycloak-Integration mit einem Linux-Server zu konfigurieren. Ich installierte die Binärdatei kc-ssh-pam und fügte die folgende Zeile zum Verzeichnis /etc/pam.d/sshd hinzu:
auth sufficient pam_exec.so expose_authtok log=/var/log/kc-ssh-pam.log /opt/kc-ssh-pam/kc-ssh-pam
Danach bearbeitete ich dieconfig.tomlDatei mit meinen Keycloak-Konfigurationen wie unten gezeigt und ausgeführt, sudo systemctl restart sshd
um den SSH-Daemon neu zu starten. Allerdings erziele ich nicht das erwartete Ergebnis, wenn ich den Befehl ssh server-name@server-ip ausführe.
realm = "realm_name"
endpoint = "https://keycloak_server_url"
clientid = "ssh_client_id"
clientsecret = "ssh_client_secret"
clientscop = "openid"
Ist dies ein idealer Anwendungsfall? Mir stehen hierfür nur begrenzte Ressourcen zur Verfügung. Daher wäre ich für alle Schritte oder empfohlenen Anleitungen dankbar, die mir dabei helfen könnten.
Antwort1
Die Keycloak-Seite zur Benutzeranmeldung wird nicht geöffnet. Die Funktionsweise besteht darin, dass basierend auf den Benutzeranmeldeinformationen ein Kennwort-Gewährungstoken von Keycloak abgerufen wird.
Wenn Sie ssh ausführen server-name@server-ip
, muss der Benutzer server-ip
zuvor ohne oder mit Passwort auf dem Computer vorhanden sein. Dieses Modul erstellt den Benutzer nicht automatisch. In den Anweisungen wird jedoch ein Skript erwähnt, mit dem Sie die Benutzer automatisch erstellen können, wenn Sie versuchen, sich zum ersten Mal anzumelden.