l3d.auth
ansible role auth
管理者および非管理者ユーザーのSSHキーを管理・展開するAnsibleロール
使用目的
このロールはLinuxホストを管理するために設計されています。このロールは、設定に応じて適切なユーザーに正しいSSH公開鍵を展開することに焦点を当てています。 他のロールではユーザーやグループの作成、sshdの設定、ドットファイルの展開、有用なパッケージのインストールなどを行います。
Linuxホストを管理するための推奨ロールのリスト:
- do1jlr.base 便利なパッケージをインストール
- do1jlr.users ユーザーを作成し、sudoersを管理
- do1jlr.auth (これ)
- do1jlr.sshd sshdを設定
- do1jlr.dotfiles 便利なドットファイルを展開
知っておくべきこと:
リストされたロールはアカウントや管理者を作成するために同じ変数を使用しますが、適切な順序で実行する必要があります。 例えば、作成されていないユーザーのSSH公開鍵を展開することはできません。
変数
admins
(デフォルト[]
):
root
としてログインを許可されるssh
キーのリスト。accounts
(デフォルト[]
):
このホストに作成されるユーザー名のリスト(存在しない場合)。users
(デフォルト{}
):
与えられたユーザーアカウントにログインを許可されるssh
キーのリストとマッピングされたユーザー名の辞書。ssh_public_key_store
(デフォルトssh_public_keys
):
Ansibleが公開鍵ファイルを見つけることができるディレクトリパス。
追加の変数についてはdefaults/main.yml
をご覧ください!
GitHubからユーザーに追加のSSHキーを追加するには、github_users: {}
の設定を使用します。
ファイル
このロールは、必要なssh
キーの公開部分がssh_public_key_store
ディレクトリ内にあることを前提としています。ファイル名は次の規則に従う必要があります: username_idalg.pub
の形式で、username
部分でマッチします。
例
アリスとボブはこのホストにログインし、sudo
コマンドを使ってroot
になることができます:
admins:
- alice
- bob
アリス、ボブ、そしてイブはそれぞれのユーザーアカウントにSSHでログインできます:
users:
alice:
- alice
eve:
- eve@device1
- eve@device2
イブは異なる2つのssh
キーを使ってログインでき、アリスは自身のSSHキー1つだけでログインします。
files/ssh_public_keys/
には次のファイルが含まれています:
alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub
アリス、ボブ、キャロルはこのホストのユーザーになりたいです:
accounts:
- alice
- bob
- eve
GitHubユーザーDO1JLR
からローカルユーザーL3DのSSHキーを追加します:
github_users:
l3d:
- do1jlr
ed25519 SSHキーを生成する
ssh-keygen -t ed25519
Ansible Rolle to manage and deploy ssh keys of admin and non-admin users
ansible-galaxy install l3d.auth