Linux 서버와 Keycloak 통합

Linux 서버와 Keycloak 통합

Keycloak 서버를 설정했으며 Keycloak 사용자가 Keycloak 자격 증명을 사용하여 Linux 서버에 인증할 수 있도록 이를 Linux 서버와 통합하는 작업을 진행 중입니다.

ssh server-name@server-ip이상적으로는 사용자가 명령을 실행할 때 자격 증명을 입력하고 시스템에 액세스할 수 있는 Keycloak 로그인 페이지가 열리 도록 하고 싶습니다 .

저는 연구를 통해 Linux 서버와 Keycloak 통합을 구성하는 방법으로 PAM을 탐색하게 되었습니다. kc-ssh-pam 바이너리를 설치하고 /etc/pam.d/sshd 디렉터리에 다음 줄을 추가했습니다.

auth sufficient pam_exec.so expose_authtok log=/var/log/kc-ssh-pam.log /opt/kc-ssh-pam/kc-ssh-pam

그 이후에는 수정을 했는데요config.toml아래와 같이 Keycloak 구성을 사용하여 파일을 생성하고 실행하여 sudo systemctl restart sshdSSH 데몬을 다시 시작했습니다. 그러나 ssh server-name@server-ip 명령을 실행하면 예상한 결과를 얻지 못합니다.

realm = "realm_name"
endpoint = "https://keycloak_server_url"
clientid = "ssh_client_id"
clientsecret = "ssh_client_secret"
clientscop = "openid" 

이것이 이상적인 사용 사례입니까? 이를 달성하기 위한 리소스가 제한되어 있으므로 이를 달성하는 데 도움이 될 수 있는 단계나 권장 가이드를 알려주시면 감사하겠습니다.

답변1

사용자 로그인을 위해 keycloak 페이지를 열지 않으며 작동 방식은 사용자 자격 증명을 기반으로 keycloak에서 비밀번호 부여 토큰을 얻는 것입니다.

ssh를 실행할 때 server-name@server-ip사용자는 server-ip비밀번호 없이 또는 비밀번호를 사용하여 컴퓨터에 미리 존재해야 하며, 이 모듈은 사용자를 자동으로 생성하지 않습니다. 그러나 처음 로그인을 시도할 때 자동으로 사용자를 생성하는 데 사용할 수 있는 스크립트가 지침에 언급되어 있습니다.

관련 정보