Ubuntu 16.04でpamldapを介してSSHアクセスを設定しようとしていますが、すべてを構成した後に/ etc / passwdをLDAPサーバーの情報と同期させることはできません。
ldapsearchが正常に動作するため、バインドオプションはうまく設定されました。
私がするとき
getent group
LDAPサーバーのすべてのグループを表示できますが、
getent passwd
ローカルユーザー情報のみがあります。
nslcdをデバッグすると、ldapユーザー(suまたはssh)を使用してログインしようとするたびに、LDAPサーバーで自分のユーザーを見つけることができます。
また:
su ldap_user
リターン:
ユーザーのパスワード入力がありません。
SSH接続を試みると、auth.logに次のように書き込まれます。
Invalid user ldap_user from IP
input_userauth_request: invalid user ldap_user [preauth]
pam_unix(sshd:auth): check pass; user unknown
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=IP
pam_sss(sshd:auth): Request to sssd failed. Connection refused
pam_ldap(sshd:auth): Authentication failure; user=ldap_user
Failed password for invalid user ldap_user from IP port 55911 ssh2
nsswitch.conf
ファイルは次のとおりです。
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
gshadow: files
hosts: files dns ldap
networks: files ldap
protocols: db files ldap
services: db files ldap
ethers: db files ldap
rpc: db files ldap
netgroup: nis ldap
sudoers: files
答え1
"PosixAccount"オブジェクトクラスを持つLDAPユーザーがないため、uidプロパティは考慮されません。使用される基本クラスには、Linuxシステムにログインするために必要な属性がないためです。