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ではsshd_configを編集するのか、Ubuntuでは編集するのかわかりません。
  2. これらのsshd_configディレクティブを有効にする必要がある場合は、ホームディレクトリを有効にするためにこれ以上行うことはありません。

答え1

場所

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

まだ行っていない場合は、すべてのセッションガイドラインの一番上にあります。

関連情報