Integração Keycloak com um servidor Linux

Integração Keycloak com um servidor Linux

Configurei um servidor Keycloak e estou trabalhando para integrá-lo a um servidor Linux para permitir que os usuários do Keycloak se autentiquem no servidor Linux usando suas credenciais do Keycloak.

Idealmente, gostaria que, quando os usuários executassem o ssh server-name@server-ipcomando, ele abrisse uma página de login do Keycloak onde pudessem inserir suas credenciais e obter acesso ao sistema.

Minha pesquisa me levou a explorar o PAM como uma forma de configurar a integração do Keycloak com um servidor Linux. Instalei o binário kc-ssh-pam e adicionei a seguinte linha ao diretório /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

Depois disso, editei oconfiguração.tomlarquivo com minhas configurações do Keycloak conforme mostrado abaixo e executei sudo systemctl restart sshdpara reiniciar o daemon ssh. No entanto, não estou obtendo o resultado esperado ao executar o comando ssh server-name@server-ip.

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

Este é um caso de uso ideal? Tenho recursos limitados para fazer isso, então agradeceria quaisquer etapas ou guias recomendados que pudessem me ajudar a conseguir isso.

Responder1

Ele não abrirá a página do keycloak para login do usuário; a maneira como funciona é obter o token de concessão de senha do keycloak com base nas credenciais do usuário.

Quando você executa ssh server-name@server-ip, o usuário deve existir na server-ipmáquina previamente sem nenhuma senha ou com ela, este módulo não cria o usuário automaticamente. No entanto, existe um script mencionado nas instruções que você pode usar para criar os usuários automaticamente ao tentar fazer login pela primeira vez.

informação relacionada