无法使用 SSSD 凭证通过 SSH 连接到服务器

无法使用 SSSD 凭证通过 SSH 连接到服务器

我们正在构建一个新的 Ubuntu 服务器。该服务器不接受使用 SSSD 用户凭据的 SSH 连接。

以下是我们在服务器上看到的 SSSD 状态错误

sssd.service - System Security Services Daemon
     Loaded: loaded (/lib/systemd/system/sssd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-10-12 16:01:27 EDT; 1min 12s ago
   Main PID: 3056 (sssd)
      Tasks: 6 (limit: 4617)
     Memory: 50.9M
     CGroup: /system.slice/sssd.service
             ├─3056 /usr/sbin/sssd -i --logger=files
             ├─3077 /usr/libexec/sssd/sssd_be --domain FORDDIRECT.LOCAL --uid 0 --gid 0 --logger=files
             ├─3078 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
             ├─3079 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
             ├─3080 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --logger=files
             └─3081 /usr/libexec/sssd/sssd_autofs --uid 0 --gid 0 --logger=files

Oct 12 16:01:26 XXXXXXXXXXXXXXXXXXXXXXXX systemd[1]: Starting System Security Services Daemon...
Oct 12 16:01:26 XXXXXXXXXXXXXXXXXXXXXXXX sssd[3056]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_be[3077]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_pam[3079]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_autofs[3081]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_ssh[3080]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX sssd_nss[3078]: Starting up
Oct 12 16:01:27 XXXXXXXXXXXXXXXXXXXXXXXX systemd[1]: Started System Security Services Daemon.
Oct 12 16:02:34 XXXXXXXXXXXXXXXXXXXXXXXX sssd_be[3077]: Could not autodiscover AD site value using DNS and ad_site op>

答案1

验证 DNS 是否设置正确。

我在 /etc/hosts 文件中列出了我的域控制器,以验证每个客户端都知道在哪里寻找它们。

# example of domain controllers in /etc/hosts
1.1.1.1 domaincontroller1.ad.example.com domaincontroller1
2.2.2.2 domaincontroller2.ad.example.com domaincontroller2
3.3.3.3 domaincontroller3.ad.example.com domaincontroller3
4.4.4.4 domaincontroller4.ad.example.com domaincontroller4

还请检查 /etc/resolv.conf 或 /etc/systemd/resolved.conf (Ubuntu 20.04) 以获取 DNS 名称服务器配置。

# example of entries in /etc/resolv.conf or /etc/systemd/resolved.conf
nameserver <ip address>
nameserver 8.8.8.8
search ad.your.domain

修改 /etc/systemd/resolved.conf 后,您需要运行:

systemctl restart resolvconf
resolvconf -u

在 Ubuntu 20.04 上,您还可以运行systemd-resolve --status来查看配置了哪些 DNS 服务器。

确保您已正确设置 /etc/sssd/sssd.conf 的权限和所有者。

# Permissions
-rw------- 1 root root 1.3K Dec 21 08:42 /etc/sssd/sssd.conf

如果使用 realm 加入域,您的 sssd 配置文件只需包含以下内容即可加入。Realm 会自动在 sssd.conf 文件中构建一些其他所需的要求。

# Basic sssd.conf configurations
[sssd]
domains = 
config_file_version = 2
services = nss, pam
# example realm join command
realm join -U AdminAcct ad.example.com --computer-name="server1" --os-name="Ubuntu" --os-version="20.04" --computer-ou="CN=Computers,DC=ad,DC=example,DC=com" --automatic-id-mapping=no

使用上述配置加入域后,您可以修改 sssd.conf 文件,然后运行:

systemctl restart sssd.service && sss_cache -E

相关内容