我有一个运行 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