LoginSignup
1
3

More than 3 years have passed since last update.

ActiveDirectoryにSSH公開鍵の属性を追加 + GiteaのLDAP認証時にSSHキーを自動で登録する

Last updated at Posted at 2020-08-21

はじめに

先日作成した Giteaを利用したCI/CDサンプル で、手動でSSH公開鍵を登録するのが面倒だったので、ActiveDirectoryにSSH公開鍵も登録して、LDAP認証させることにしました。

自分の環境では結構レアな作業だったので、備忘録として残します。
やってることは 参考URL とほぼ同一ですの。

対象機器および環境

検証環境

  • Windows Server 2019
  • CentOS8 (8.2.2004)
  • Gitea (1.13.0+dev)

作業内容

今回の作業では「ActiveDirectoryスキーマの追加」を行います。
作業中に警告ダイアログが出る通り、追加されたスキーマオブジェクトは削除ができませんので、その点にご注意ください。

「ActiceDirectoryスキーマの編集」ができるようにする

コマンドプロンプトを管理者権限で立ち上げて regsvr32 schmmgmt.dll と入力する。
すると、スナップインにADスキーマの編集が選択できるようになる。
image.png

で、同じく管理者権限のコマンドプロンプトでmmcして管理コンソールを立ち上げる。
すると、スナップインの追加と削除のメニューからActiveDirectoryスキーマが選択できるようになるので、これを追加して「OK」する。
image.png

属性の作成

「属性」を右クリック→「属性の作成」をクリック
image.png

この確認画面が出るので、「続行」する
image.png

一般名:sshPublicKeys
OID:1.3.6.1.4.1.24552.1.1.1.13
構文:IA5-String
複数値:チェックあり
で、作成する。
image.png

クラスの作成

「クラス」を右クリック→「クラスの作成」をクリック
image.png

この確認画面が出るので、「続行」する
image.png

一般名:ldapPublicKey
OID:1.3.6.1.4.1.24552.500.1.1.2.0
親クラス:top
クラスの種類:補助型
で、「次へ」する。
image.png

「オプション」に先ほど作成した sshPubnlicKeys を追加して「完了」する。
image.png

ユーザクラスに紐づけ

「クラス」→「user」を選択してダブルクリックorプロパティを開く
image.png

「関係」タブをクリックして、補助型クラスの「クラスの追加」から
image.png

「ldapPublicKey」を選択
image.png

こうなったら「適用」→「OK」する
image.png

ユーザの公開鍵を登録

管理ツールの「ActiveDirectoryユーザとコンピュータ」の「表示」→「拡張機能」にチェックをいれておく
image.png

ユーザをダブルクリック or プロパティを開いて、「属性エディタ」タブの「sshPublicKeys」を編集
image.png

こんな感じで登録しておく
image.png

登録されていればこうなる
image.png

GiteaでLDAP認証の設定をする

管理権限のあるユーザでログインして、「サイト管理」→「認証ソース」から「認証ソースを追加」を選択
認証タイプ:LDAP (via BindDN)
認証名:任意
セキュリティプロトコル:LDAPS
ホスト:ActiveDirectoryのサーバ
ポート:636(変更している場合はLDAPSのリッスンポート)
バインドDN:CN=検索用ユーザ,CN=Users,DC=prosper2,DC=net
バインドパスワード:(上記DNのパスワード)
ユーザ検索ベース:dc=prosper2,dc=net
ユーザフィルタ:(&(objectclass=person)(sAMAccountName=%s))
メールアドレス:userPrincipalName
SSH公開鍵:sshPublicKeys
(そのほか、特定グループは管理者権限を付与、とかあれば、Adminフィルタに入れるとよいと思います。)
image.png
image.png

Giteaでログインしてみる

ADに登録しているユーザでログインする
image.png

「設定」→「SSH/GPGキー」を見てみると、先ほど登録した公開鍵がすでに登録された状態となっている。
このとき、別のユーザで同一の公開鍵がすでに登録されている場合は登録されません。
Giteaとして一つの公開鍵は一つのユーザにしか紐づけられないためです。(逆に一つのユーザに複数の鍵はOKです)
image.png

あらかじめ公開鍵を2つ登録しておけば、
image.png

最初のログイン時(アカウント自動生成時)に鍵が2つ自動的に登録された状態になります。
image.png

おしまい

参考

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3