らくがきちょう

なんとなく

LDAP Admin で鍵方式で SSH ログイン可能なユーザを OpenLDAP 上に作成する

LDAP Admin を使うと GUI で簡単に LDAP 上の操作が可能です。 今回は LDAP Admin を使って OpenLDAP 上に SSH 公開鍵を登録したユーザを作成する手順をメモしておきます。

前提条件

OpenLDAP サーバ&クライアントになる Linux は以下の記事をベースに作成されているものとします。

本記事で LDAP Admin を利用して OpenLDAP サーバへ接続する環境には下記の記事に従って、SSH 公開鍵登録用のテンプレートが追加されているものとします。

全体の設計

全体の DN や OU の設計は以下の通りとします。 グループを 2 つ、ユーザも 2 つ作成します。 併せて gidNumberuidNumber も値を指定して作成します。

f:id:sig9:20171124000209p:plain

Step.1

LDAP Admin を起動し、Start メニューから Connect をクリックします。

f:id:sig9:20171124000225p:plain

Step.2

New connection をダブルクリックします。

f:id:sig9:20171124000240p:plain

Step.3

OpenLDAP サーバに併せて、パラメータを指定します。 Account 設定時は Anonymous connection のチェックを外し、ディレクトリサービスの管理者用に作成したユーザを指定します。

f:id:sig9:20171124000250p:plain

Step.4

これで LDAP 接続の設定が作成されました。 作成された接続アイコン(下の図では LDAP という表示名のアイコン)をダブルクリックして接続します。

f:id:sig9:20171124000259p:plain

Step.5

パラメータに問題が無ければ OpenLDAP に接続され、以下のような画面になります。 今回は予め GroupsUsers という OU を作成してあります。

f:id:sig9:20171124000307p:plain

Step.6

Groups の OU を右クリックし、表示されたメニューから New → Group をクリックします。

f:id:sig9:20171124000318p:plain

Step.7

新規作成するグループ名を入力します。 今回は Administrators と入力して OK をクリックします。

f:id:sig9:20171124000326p:plain

Step.8

グループが作成されました。 但し、gidNumber が指定した値になっていませんので、次の手順で修正します。

f:id:sig9:20171124000338p:plain

Step.9

gidNumber を右クリックし、表示されたメニューから Edit value をクリックします。

f:id:sig9:20171124000348p:plain

Step.10

このグループに本来、割り当てたかった gidNumber を入力します。 今回は 5001 と入力し、OK をクリックします。

f:id:sig9:20171124000400p:plain

Step.11

これで gidNumber の修正が完了しました。 これで、ひとつ目の Administrators グループの作成は完了です。

f:id:sig9:20171124000412p:plain

Step.12

同様の手順で、ふたつ目の Users グループを作成します。 gidNumber は最初に決めたパラメータに従って 5002 にします。

f:id:sig9:20171124000426p:plain

Step.13

次はユーザを作成します。 Users OU を右クリックし、表示されたメニューから New → User をクリックします。

f:id:sig9:20171124000437p:plain

Step.14

必要なパラメータを指定します。 画面下部にある Account properties のうち、Shadow AccountPublicKey のチェックを入れておきます(OK は押さずに、次の手順へ進みます)。

f:id:sig9:20171124000449p:plain

Step.15

Membership タブをクリックします。 この画面で、このユーザが所属するグループを選択します。 今回は Primary group だけ設定したいので、画面右上にある Set ボタンをクリックします。

f:id:sig9:20171124000502p:plain

Step.16

OpenLDAP 上に作成済みのグループが表示されます。 作成中の administrator ユーザを所属させる Administrators グループを選択し、OK をクリックします。

f:id:sig9:20171124000514p:plain

Step.17

これで Primary group が設定されました(OK はクリックせず、次の手順に進みます)。

f:id:sig9:20171124000526p:plain

Step.18

PublicKey タブをクリックします。 OpenSSH Public Key: というテキストエリアが表示されますので、ここに SSH アクセス用の公開鍵を登録します。

f:id:sig9:20171124000536p:plain

Step.19

これでユーザが作成されました。 但しグループの場合と似ていますが、uidNumber の値が設計とは異なる値になっていますので、次の手順で修正します。

f:id:sig9:20171124000545p:plain

Step.20

uidNumber の値を右クリックし、Edit value をクリックします。

f:id:sig9:20171124000559p:plain

Step.21

uidNumber として本来、設定すべき値を入力します。 今回は 10001 と入力し、OK をクリックします。

f:id:sig9:20171124000608p:plain

Step.22

これで、ひとり目の administrator ユーザの作成が完了しました。

f:id:sig9:20171124000617p:plain

Step.23

同様に、ふたり目の user ユーザも作成します。 手順は同じですが、冒頭で決めたパラメータに従い、所属させる Primary groupUsers グループとしました。

f:id:sig9:20171124000638p:plain

Step.24

これで、ふたり目の user ユーザの作成も完了しました。

f:id:sig9:20171124000648p:plain

ログイン確認

実際に OpenLDAP クライアントになっている Linuxadministrator ユーザで秘密鍵を指定して SSH アクセスしてみます。 無事、SSH ログイン出来、id コマンドで表示させた uid / gid 値が意図した値になっていれば成功です。

$ ssh -i ~/.ssh/id_rsa 172.20.0.142 -l administrator
Creating home directory for administrator.
administrator@172-020-000-142:~$ id administrator
uid=10001(administrator) gid=5001(Administrators) groups=5001(Administrators)