LDAP で SSH の公開鍵を配る……という話しではなく、単純にアカウント情報をLDAPに持たせる段階で失敗。
ちゃんと設定しているつもりなのに、認証を LDAP に切替えたサーバへ ssh で接続できない。
/etc/pam_ldap.conf
/etc/libnss-ldap.conf
/etc/nsswitch.conf
/etc/pam.d/ssh
もしっかり書き変え、id コマンドに、/etc/passwd に登録されていないユーザを指定すると
# id kunitake
uid=777(kunitake) gid=1000(staff) groups=1000(staff)
ってな感じで、ちゃんと LDAP から情報も取れてる。なのに ssh で繋ぎにいくと
Jun 5 00:22:01 localhost sshd[13787]: pam_ldap: error trying to bind as user "cn=Koichi Kunitake,ou=people,dc=kunitake,dc=org," (Invalid credentials)
こんな感じのエラーが出て動かない。/etc/ssh/sshd_config
UsePAM yes
にもなってる。なんでだ〜!といろいろ情報を探していたら、昔 debian-uesrs に流れていたメールにまさにこの件が!
結論は
UsePAM yes
になっていても
ChallengeResponseAuthentication yes
じゃないと ssh は PAM 認証しないよ、ということらしい orz
#まぁ確かに man に載っちゃいますが……(涙)
http://mizzy.org/program/net-ldap-alternative.html
こういうのが欲しかったんですよ!DBIC とほぼ同じインタフェースで LDAP のレコードが触れます。昔書いたツールもこれで書き直そうかなぁ……