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?