sssd problemas de cache com authorized_keys

1

Estou executando um servidor com o CentOS 7.4.1708 e todas as correções aplicadas. O sssd é a versão 1.15.2.

Eu tenho uma configuração sssd funcional que me permite entrar usando chaves públicas SSH armazenadas no Active Directory.

A configuração

A instância é unida com êxito e esta é minha /etc/sssd/sssd.conf :

[sssd]
domains = EXAMPLE.COM
default_domain_suffix = EXAMPLE.COM
config_file_version = 2
debug_level = 7
services = nss, pam, ssh

[domain/EXAMPLE.COM]
ad_domain = EXAMPLE.COM
debug_level = 7
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ldap_user_ssh_public_key = sshPublicKey
ad_access_filter = DOM:EXAMPLE.COM:(memberOf:1.2.840.113556.1.4.1941:=CN=ACL_DEV_APAC_developers,OU=ACL,OU=Group,OU=EXAMPLE,DC=EXAMPLE,DC=COM)

[ssh]
debug_level = 7

[nss]
debug_level = 7

Meu /etc/ssh/sshd_config inclui

AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser nobody

O problema

O usuário pode efetuar login apenas uma vez durante a vida útil do cache (por padrão 90 minutos), caso contrário, o acesso é negado. Veja o log no link . Para registros com debug_level = 9 , consulte link

A execução de sss_ssh_authorizedkeys myadmin funciona perfeitamente quando executada com um cache limpo / expirado (até várias vezes seguidas). Quando eu faço o login via ssh e tento executá-lo diretamente depois, nada é retornado para o usuário logado, mas posso consultar um usuário (novo / novo) imediatamente.

A solução alternativa

A adição de entry_cache_user_timeout = 5 a [domain/EXAMPLE.COM] in /etc/sssd/sssd.conf permite um login a cada 5 segundos. Logins mais rápidos não são possíveis. Um tempo limite menor aumenta o tempo de login.

Solução

Alguém é uma solução para esse problema?

    
por Jonathan 02.10.2017 / 15:47

1 resposta

2

Veja o relatório de erros para o status mais recente - link

Solução 1

Adicionar o atributo ldap sshPublicKey ao catálogo global resolve o problema. Consulte link para instruções. O atributo deve ser algo como isto:

Solução 2

Como alternativa, pode-se adicionar ad_enable_gc = false à configuração do domínio. Em seguida, o catálogo global será usado apenas para associações de grupo de domínio cruzado. Veja man sssd-ad para detalhes.

    
por 04.10.2017 / 15:35