无法使用 sssd 对 ldaps 进行身份验证

无法使用 sssd 对 ldaps 进行身份验证

我有一个运行 debianstretch 和 sssd 1.15.0 的 docker 容器。

计划将其用于 SFTP 目的,并通过 LDAPS 对用户进行身份验证。本例中的 LDAP 提供程序是 Azure Active Directory 域服务 (AADDS),它提供 LDAPS 功能。

到目前为止,我已经能够:

  • 成功执行简单的绑定
  • 将端口 636 标记为“工作”
  • 将服务器标记为“正在运行”
  • 使用 docker exec 直接登录到容器并执行成功的 ldapsearch(返回 291 个对象)

遗憾的是,我无法以 LDAP 虚拟用户身份通过​​ ssh 或 sftp 进入容器。

以下是一些相关信息,包括两者的调试输出:

  • 容器的启动
  • 用户尝试登录

我努力了:

  • 更改绑定用户格式
  • 使用或不使用 base_user OU
  • 在 URI 中添加或不添加端口 636
  • 使用 getent 测试(不成功)sssd 身份验证(不返回任何内容)
  • 测试带有和不带有完整 UPN 的用户名(用户 vs user@domain)

任何帮助将不胜感激

看起来,我似乎无法添加显示所有文件所需的代码块,因为 stackexchange 认为由于某种原因这看起来像垃圾邮件,所以我创建了一个包含所有详细信息的要点。如果我有更好的方式来呈现这个,请告诉我。

https://gist.github.com/Lazarix/ed9792076680ead510220d6c8ebb8e6e

答案1

我相信我已经解决了这个问题。特别是在作为 ldap 提供程序连接到 AADDS 的上下文中,我在 sssd.conf 的 [domain/mydomain] 部分下缺少以下选项:

ldap_schema = AD

相关内容