如何设置系统安全服务守护进程 (SSSD) 以根据 Azure Active Directory 对用户进行身份验证

如何设置系统安全服务守护进程 (SSSD) 以根据 Azure Active Directory 对用户进行身份验证

我已设置并运行 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]

这与上面的输出(后端在线)冲突。

导致此错误的原因可能是什么?

相关内容