CentOS:AD 可以在域中识别用户,但 AD 用户无法通过 SSH 登录

CentOS:AD 可以在域中识别用户,但 AD 用户无法通过 SSH 登录

我可以毫无问题地将机器加入到 Ubuntu 领域。因此,对 CentOS 7.7 使用完全相同的步骤,我可以加入域和 id 用户...但我无法 ssh 登录!

我使用的步骤仅因软件包要求略有不同而有所不同。以下是我的 CentOS AD 加入步骤:

sudo dnf install net-tools samba sssd krb5-workstation krb5-server sssd-krb5 sssd-ad nfs-utils oddjob-mkhomedir

/etc/hostname #contains:
hostname
/etc/hosts #contains:
127.0.0.1 hostname


-set SELINUX to permissive in /etc/selinux/config

Edit /etc/krb5.conf

sudo kinit domain_administrator

Edit /etc/samba/smb.conf

systemctl stop sssd

Edit /etc/sssd/sssd.conf

sudo chmod 600 /etc/sssd/sssd.conf

sudo net ads join -Udomain_administrator

Add this line to /etc/pam.d/common-session
session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022

systemctl start sssd

systemctl enable sssd

id moreilly
-Succesfully outputs id info

ssh banana@hostname
Permission denied, please try again.

但是当我尝试 su 或 ssh user@centosbox 时,它显示“权限被拒绝,请重试。”

如果我在 /etc/ssh/sshd_config 中更改并启用这些行,那么我可以 ssh 但不会创建主目录:

# Kerberos options

#default is no
KerberosAuthentication yes

KerberosOrLocalPasswd yes
KerberosTicketCleanup yes

#default no
KerberosGetAFSToken yes

KerberosUseKuserok yes

# GSSAPI options
GSSAPIAuthentication yes

# DEFAULT IS NO
GSSAPICleanupCredentials yes

主目录在 Ubuntu 上自动创建,但在 CentOS 上则不会。为什么我需要在 CentOS 的 sshd_config 中启用这些 Kerberos 和 GSSAPI 指令,而不是在 Ubuntu 上?

到底:

  1. 我不知道为什么我需要在 CentOS 而不是 Ubuntu 上编辑 sshd_config。
  2. 如果我确实必须启用这些 sshd_config 指令,那么我不需要做更多的事情来启用主目录

答案1

地方

session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022

如果您还没有这样做,则位于所有会话指令的顶部。

相关内容