slapdはなんとか他のホームページを見れば動くようになる。
問題はいわゆるクライアント側の設定である。
sssdが入っていないと、sshでのログインは受け付けない風である。
結局、libnss-ldap libpam-ldap ldap-utils でnslcd-nscd pam_ldap周り
sssd sssd-ldapで sssd pam_sssd周りを設定してやると、うまくサーバーに問い合わせて認可してくれるようになった。
sssdが仕事をすれば、nslcd, nscdは起動しなくてよい。
systemctrl disable nslcd
systemctrl disable nscd
nslcd-nscdの場合、
/etc/ldap.confが重要で、これがうまく設定されていないとldapアカウントにsuもできない。
/etc/ldap/ldap.confでできたと思ってしまうのが落とし穴。/etc/ldap/ldap.confはldapsearch等のためのファイル。これを整備してldapsearch -xでldap情報をキャッチできているのが確認できても、nscd-nslcdは/etc/ldap.confに左右されるので、su やsshではサーバーにコネクトできないなどと言われていまう。また、2つのサービスの連携なので、両方再起動してやらないとうまく動かないときがある。
現時点で、nscd-nlscdのみではsshログインやコンソールログインがうまく行かない。suはうまくいく。解決策は、sssd。
ただ、sssdを使ってもlightdmでldapアカウントではうまくログインできない。これが弾かれるとローカルのアカウントでも認証されてもデスクトップが現れなくなってしまう。端末はローカルアカウントを使うしかないだろう。デスクトップを出すのにいろいろしんどそうだし。
あと、パスワード認証がうまく行かない場合は、tail -n 100 /var/log/auth.logをみれば、糸口が見つかる。
もう少しldapクライアントのホストを増やしてみるつもり。
あとは、apacheでldap認証だが、まずapache動かせるようにする必要がある。
翌日追記:
sssd, sssd-ldapだけではだめ。
ldap-auth-configをインストールすると、
auth-client-config ldap-auth-client libnss-ldap libpam-ldap
も道連れで入ってくる。
dpkg-reconfigure ldap-auth-config
を自動的にやってくれる。
これらが揃うと、ldapアカウントにsuできるようになる 。
あと、nscdは認証のキャッシュを保持するためのもので、速くなる風。入れたほうが良いようだ。
クライアント側
apt install ldap-auth-config ldap-utils
apt install sssd
dpkg-reconfigure ldap-auth-config
/etc/ldap/ldap.conf, /etc/sssd/sssd.confをコピー
systemctrl restart sssd
/etc/ssh/sshd.conf にUsePAM yesとして、sshd再起動
疎通確認
ldapsearch -x
getent passwd ldapアカウント
/var/log/auth-logにauthentification failureがldapアカウントの場合は2度続くが、これは、Redhat情報によると問題ないらしい。
ldapアカウントでsshの公開鍵認証(パスワード打たないでログイン)はできることを確かめた。