ldap認証でのユーザーログイン、sshログイン@ubuntu 18.04LTS

slapdはなんとか他のホームページを見れば動くようになる。

問題はいわゆるクライアント側の設定である。

sssdが入っていないと、sshでのログインは受け付けない風である。

結局、libnss-ldap libpam-ldap ldap-utils でnslcd-nscd pam_ldap周り

sssd sssd-ldapで sssd pam_sssd周りを設定してやると、うまくサーバーに問い合わせて認可してくれるようになった。

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クライアントのホストを増やしてみるつもり。

 

あとは、apacheldap認証だが、まず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の公開鍵認証(パスワード打たないでログイン)はできることを確かめた。