私は2つのDebianVMを持っています。 1つはLDAPサーバーを実行していて、もう1つにlibpam_ldapを使用させようとしています。
クライアントマシンは、GUIログイン画面のLDAPからユーザーを取得できますが、LDAPのみのユーザーではVMにSSH接続できません。su
ルートユーザー(ローカル)からLDAPユーザーへ。ただし、同じ問題だと思います。
クライアントマシンでは、ldapsearch
を使用して必要なユーザーを検索できます...
ldapsearch -x -D "cn=admin,dc=mydomain,dc=com" -W -b "uid=testuser,ou=People,dc=mydomain,dc=com"
これにより、管理LDAPパスワードの入力を求められ、ユーザーレコードが返されます。
dn: uid=testuser,ou=People,dc=mydomain,dc=com
uid: testuser
cn: Test User
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: [removed for stackexchange posting ]
shadowLastChange: 17543
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/dwill
gecos: Test User,,,
(私のドメインは実際には "mydomain.com"ではないことに注意してください。この投稿用に編集しました)
しかし、私がするときgetent passwd testuser
、何も返しません。
/etc/nsswitch.conf
これらの行があります
passwd: files ldap
group: files ldap
shadow: files ldap
以前はcompat ldap
それらのために、しかし私はそれを変更しようとしましたfiles
それは私が見つけたガイドの1つが持っていたものだからです。どちらの方法でも機能しませんでした。
/etc/ssh/sshd_config
はUsePAM yes
セットする。
私はグーグルを通して見つけることができるすべてのガイドに従いました、そして、私はまだこれを働かせることができません。
助言がありますか?
私は問題を見つけました。私がグーグルで見つけたガイドの1つは私にそうするように指示しました
apt-get libnss-ldap libpam-ldap nslcd
また、後でlibpam-ldapd
がlibpam-ldap
よりも新しいという記事を見つけ、代わりにインストールしました。
libnss-ldap
は、いくつかの構成を求めるプロンプトを表示し、/etc/libnss-ldap.conf
ファイルを作成します。次に、libpam-ldap
はlibnss-ldap
をアンインストールしますが、構成ファイルは残します。どうやらその設定ファイルはそれが使用しているものであり、そのファイルのbinddnでエラーが発生したため、まだ意味があります。 binddnを修正した後、動作しました。
なぜこれらのLDAPモジュールの両方をインストールするのか本当にわかりません。最初のクライアントVMが機能するようになったら、libpam-ldapdとnslcdだけを使用して別のクライアントVMをセットアップし、最初に機能しました。
次の内容の/etc/pam.d/sshd
があることを確認してください。
auth sufficient pam_ldap.so
account sufficient pam_permit.so
次に、Sudo /usr/sbin/pam-auth-update
を実行し、sshd
サービスを再起動します。