SSSD+LDAP+SSH連携の設定

古いOpenSSHだと、OpenSSH-LPKというパッチを当ててコンパイルすることでSSHとLDAPを連携していましたが、v6.2 からは AuthorizedKeysCommand という設定で連携できるようになりました。

それを使って SSSD と連携してみたり、ついでに nslcd でのおさらいもしておきます。



関連記事

  • 認証システムSSSD+LDAP+SUDOの構築手順
  • SSSDとnslcd+nscdの比較

  • SSSD+SSH+LDAPの設定

    認証システムSSSD+LDAP+SUDOの構築手順 の通りにSSSDが構築済みとします。
    その内容で必要なポイントは以下2点です。

  • [sssd] の services に ssh が入っている
  • [ssh] の空設定が存在する

  • アンコメント or 追記します。

    再起動し、外のクライアントからSSH接続をしてみます。

    失敗したら、sss_ssh_authorizedkeys example_user でLDAPの公開鍵を標準出力できているかの確認や、sshd, sssd のログを確認していけばよいです。

    nslcdの場合

    なんとなくnslcdの場合もメモを残しておきます。

    CentOS7

    入れます。

    sshd_config を設定します。

    少々設定を追加して、sshを再起動したら完成です。


    Debian8

    入れます。

    CentOSのような ssh-ldap-wrapper が存在しないので、スクリプトを書きます。
    スクリプト置き場のディレクトリ権限が決まっているので、こんな置き場にしています。

    sshd_config を設定します。

    最後にsshを再起動して完成です。


    こうしてみると、SSSDでの連携のほうが、だいぶスッキリしているようです。

    ディストリビューションのメジャーバージョンが上がるたびに、この辺でイラついていたので、SSSDの息が長そうなら乗り換えるほうが良い気がしてきました。