web-dev-qa-db-ja.com

LDAPとPAMはGUIログインでは機能しますが、SSHでは機能しません

私は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_configUsePAM yes セットする。

私はグーグルを通して見つけることができるすべてのガイドに従いました、そして、私はまだこれを働かせることができません。

助言がありますか?

1
dwilliss

私は問題を見つけました。私がグーグルで見つけたガイドの1つは私にそうするように指示しました

apt-get libnss-ldap libpam-ldap nslcd

また、後でlibpam-ldapdlibpam-ldapよりも新しいという記事を見つけ、代わりにインストールしました。

libnss-ldapは、いくつかの構成を求めるプロンプトを表示し、/etc/libnss-ldap.confファイルを作成します。次に、libpam-ldaplibnss-ldapをアンインストールしますが、構成ファイルは残します。どうやらその設定ファイルはそれが使用しているものであり、そのファイルのbinddnでエラーが発生したため、まだ意味があります。 binddnを修正した後、動作しました。

なぜこれらのLDAPモジュールの両方をインストールするのか本当にわかりません。最初のクライアントVMが機能するようになったら、libpam-ldapdとnslcdだけを使用して別のクライアントVMをセットアップし、最初に機能しました。

1
dwilliss

次の内容の/etc/pam.d/sshdがあることを確認してください。

auth    sufficient      pam_ldap.so
account sufficient      pam_permit.so

次に、Sudo /usr/sbin/pam-auth-updateを実行し、sshdサービスを再起動します。

0
thecarpy