即使使用正确的密码,所有用户的 SSH 登录都会失败

Coy*_*Coy 6 linux login active-directory rhel sssd

因此,我有一个已加入广告的 RHEL 服务器。即使使用正确的密码,用户也无法登录。

我可以通过控制台登录,但只能使用 root 登录,所有 AD 帐户都不起作用。我无法使用 root 通过 Putty 登录,它只能通过控制台工作。AD用户无法通过控制台登录,只有root登录有效。

令人沮丧的是,日志毫无帮助。

当尝试通过 SSH/Putty 和 AD 帐户访问时(双因素已打开),我收到 Duo 提示,因此可以验证它是否正在连接。我收到“您的密码将在 7 天后过期”消息,因此我在 AD 中更新了密码,现在不再收到“您的密码将在 7 天后过期”消息。这告诉我服务器能够到达 AD 并读取 AD 信息。以下是尝试使用 AD 帐户登录时的文本:

密码或选项 (1-3): 1 使用键盘交互式身份验证。成功。正在让您登录...访问被拒绝

当使用 root 登录时(讽刺的是,root 没有两个因素设置),它会直接进入拒绝访问状态。

我已经清除了 SSSD 缓存,验证了 SSSD 设置,并将 SSSD 设置与我们其他没有问题的服务器之一进行了比较,它们是相同的。

由于 root 也被拒绝 SSH 登录,所以我并不认为这个问题与 AD 有关。

任何帮助将不胜感激。

Tim*_*edy 2

在我的脑海中,以下三件事让我在将 CentOS 加入 AD 以及将 sssd 与 ssh 结合使用时感到痛苦:

  1. 您是否已pam_sss.so在 的密码部分列出/etc/pam.d/password-auth,或以其他方式调用/etc/pam.d/sshd?sshd 将使用 PAM 来验证密码,如果 PAM 未配置为与 对话,则将破坏使用AD 身份验证的sssd能力。ssh

  2. 你有一个里面/etc/security/access.conf可能有这样一行字的吗-:ALL:ALL?您可能需要明确允许用户,使用+:USERNAME:ALL,或者您可以允许通过身份验证的任何人+:ALL:ALL

    access.conf 手册页提供了有关条目格式和文件中字段含义的一些有用信息。

  3. 在您的域节中/etc/sssd/sssd.conf,您是否有用于身份验证的行,例如auth_provider = ad


编辑2017-11-02 13:48

/etc/nsswitch.conf是另一个可能有问题的文件。您需要确认已sss配置为 passwd、shadow、group、netgroup、automount 和 services 的查找目标:

passwd:     files sss
shadow:     files sss
group:      files sss
<snip>    
services:   files sss
netgroup:   files sss
<snip>
aoutomount: files sss
Run Code Online (Sandbox Code Playgroud)

虽然“成功...访问被拒绝”让我认为它与access.conf有关。就像身份验证正在通过,但随后在其他地方被阻止一样。或者...OP说这是Red Hat。它可能缺少 HBAC 规则。我记得 SSSD 文档中没有提到它们。

我没有可以检查的 RH 服务器,并且我加入域的 CentOS 服务器没有该命令ipa