Help us understand the problem. What is going on with this article?

ubuntuのLDAPでssh鍵を一括管理する時に詰まったこと

More than 3 years have passed since last update.

Ubuntuでsshの認証しようとした時、結構詰まったのでそのメモ書き

参考
OSバージョン:ubuntu16.04LTS
sshに使うやつ:ssh-ldap-pubkey

とりあえずやりたかったこと

  • 踏み台サーバーからクライアントに対してsshをかける
  • 認証の際にLDAPサーバーの公開鍵を参照してログイン
  • クライアント側には秘密鍵も公開鍵も置かない状態になっていること

やり方

クライアントサーバーに必要なものを一括インストール

サーバー

apt install slapd libnss-ldap libpam-ldap nslcd

クライアント

apt install libnss-ldap libpam-ldap nslcd

パスワードとかは任意のものを使用。

ldap://はLDAPサーバーのIPを入れてます(基本はドメインだと思う)

ついでに初期設定で聞かれるLDAPのドメインとかはそのサーバーのドメインをdc=ドメイン名で設定
例:)
xxx.example.comの場合
dc=example,dc=com見たな感じ

adminの設定もdcはさっき入力したやつを入力

あとはデフォルト値にしたがってはいはいと進めていきます。

sshスキーマを作成してデータベースに入れる

CentOSだとデフォルトでスキーマとか入っているらしいのですが、Ubuntuはその辺適当みたいで、むしろ自分で作れって言われました。

デフォルトだとsshのObjactClassがないみたいなのでldifファイルを作成して食べさせます。

このソースをviでコピペして作成する。
↓これ
openssh-lpk.schema

vi openssh-lpk.ldif

そんで管理者権限でさっき作ったやつをしれっと入れます。

ldapadd -x -W -D cn=admin,dc=example,dc=com -H ldap:/// -f openssh-lpk.ldif

これでスキーマがスコンと入れは成功

ssh-ldap-pubkeyのインストール

あとは最近ssh-ldap-pubkeyなるものが使えるようになったみたいなのでそれをクライアントとサーバー両方にインストール

Pythonで書かれているらしくpipをあらかじめインストールしてから使ってください。

sudo pip install ssh-ldap-pubkey

あと、ライブラリが足りないみたいなのでこれも追加してインストール

sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev

これでssh-ldap-pubkeyが使えるのでログインしたいLDAPユーザーのホームディレクトリに公開鍵と秘密鍵があることを確認したらLDAPデータベースに公開鍵を以下のコマンドで入れます。

ssh-ldap-pubkey add ~/.ssh/id_rsa.pub

admin権限で入れろよと怒られた場合はadminをバインドして入れましょう

ssh-ldap-pubkey add -D cn=admin,dc=example,dc=com -u demouser ~/.ssh/id_rsa.pub

クライアント側のsshdの設定の変更

このままだとクライアント側が普通のsshの認証しかしないので/etc/ssh/sshd_configの設定をviで編集。

vi /etc/ssh.sshd_config

認証する際にssh-ldap-pubkeyを使うように追記します。

その際にはパスワード認証はオフにしておくといいかも

AuthorizedKeysCommand /usr/bin/local/ssh-ldap-pubkey-wrapper
AuthorizedKeysCommandUser nobody

最後にsshdの再起動して反映させれば完了です。

systemctl restart sshd.service

あとはLDAPに公開鍵を登録したユーザーでsshできれば完成

参考URL
ubuntu OpenLDAP
jirutka/ssh-ldap-pubkey
Server world LDAPサーバーの設定

tukapai
何故か仏教を学んだプログラマー 通常はインフラ系ですが、何でもやるマン 主にRubyが最近好き💕
http://blog.tukapai.com/
vsn
IT、メカトロニクス・エレクトロニクス、バイオ・ケミストリー分野における無期雇用型派遣事業を行っています。技術力とコンサル力でお客さま事業に革新をもたらすべく、約4,000名のエンジニアが活躍中です。
http://www.vsn.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away