我已设置并运行 Azure Active Directory(AD) 以及 Azure AD 域服务,其中配置了一个具有安全 LDAP 的单个域。
在 Linux 服务器上,我已经测试了它是否可以通过
ldapsearch
命令与 AD 通信,并且它运行良好(我能够从 AD 获取数据)。
现在,我正在努力设置系统安全服务守护进程 (SSSD),以根据存储在 AD 中的凭据对尝试通过 ssh 进入 Linux 服务器的用户进行身份验证。
到目前为止,我已经设法使 SSSD 运行,并且至少可以与 AD 进行通信。
查看下面的输出,SSSD 服务似乎已启动并运行,并且后端处于在线状态。
sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2018-10-15 03:30:49 UTC; 1h 35min ago
Main PID: 16970 (sssd)
CGroup: /system.slice/sssd.service
├─16970 /usr/sbin/sssd -i --logger=files
├─16971 /usr/libexec/sssd/sssd_be --domain default --uid 0 --gid 0 --logger=files
├─16972 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
├─16973 /usr/libexec/sssd/sssd_sudo --uid 0 --gid 0 --logger=files
├─16974 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
├─16975 /usr/libexec/sssd/sssd_autofs --uid 0 --gid 0 --logger=files
└─16976 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --logger=files
Oct 15 03:30:49 ip-xxx.local sssd[16970]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[be[default]][16971]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[be[default]][16971]: Your configuration uses the autofs provider with schema set to rfc2307 and default attribute mappings. The default map h...attributes.
Oct 15 03:30:49 ip-xxx.local sssd[ssh][16976]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[autofs][16975]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[sudo][16973]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[pam][16974]: Starting up
Oct 15 03:30:49 ip-xxx.local sssd[nss][16972]: Starting up
Oct 15 03:30:49 ip-xxx.local systemd[1]: Started System Security Services Daemon.
Oct 15 03:32:13 ip-xxx.local sssd[be[default]][16971]: Backend is online
Hint: Some lines were ellipsized, use -l to show in full.
但是,在执行以下命令进行测试时,
id username
后端(AD)返回错误,称由于某种原因处于离线状态。
[sss_dp_get_reply] (0x0010): The Data Provider returned an error [org.freedesktop.sssd.Error.DataProvider.Offline]
这与上面的输出(后端在线)冲突。
导致此错误的原因可能是什么?