AlphaHydrae.ssh-key
Ansible SSHキー
Ansibleのロールで、ユーザー用のSSHキーを生成します。
ssh_key_root_link
をtrue
に設定すると、キーがルートユーザーの.sshディレクトリにシンボリックリンクされます。
ロール変数
SSHキーのプロパティ
ssh_key_user
(またはuser
) - 必須 - SSHキーを生成するユーザー(デフォルトはuser
変数の値)。ssh_key_bits
[整数]
- 生成されるキーのビット数(デフォルトは8192)。ssh_key_comment
- SSHキーのブロックの末尾にあるコメント(デフォルトは{{ ssh_key_user }}@{{ ansible_hostname }}
、例:jdoe@mycomputer
)。
非ルートユーザーのSSHキーの場所
ssh_key_dir
- キーが生成される.sshディレクトリ(デフォルトは{{ host_user_homes }}/{{ ssh_key_user }}/.ssh
、host_user_homes
はAlphaHydrae.multipassロールによって提供されます)。ssh_key_file
- SSHキーのファイルの場所(デフォルトは{{ ssh_key_dir }}/id_rsa
)。
ルートユーザーのSSHキーの場所
ssh_key_root_dir
- ルートユーザーの.sshディレクトリ(デフォルトは{{ host_root_home }}/.ssh
;host_root_home
変数はAlphaHydrae.multipassロールによって提供されます)。ssh_key_root_file
- ルートユーザーのSSHキーのファイルの場所(デフォルトは{{ ssh_key_root_dir }}/id_rsa
)。
ルートシンボリックリンク変数
ssh_key_root_link
[ブール値]
- 生成されたキーをルートユーザーの.sshディレクトリにシンボリックリンクするかどうか(デフォルトはfalse
;ssh_key_user
がルートユーザーの場合は効果がありません)。
依存関係
AlphaHydrae.multipassロールは、ユーザーホームディレクトリがどこにあるかを判断するために使用されます。 このロールは、ターゲットホストのプラットフォームに応じて合理的なデフォルト値を設定します:
host_root_user
- ルートユーザーのユーザー名(例:root
)。host_root_group
- ルートユーザーのグループ(例:root
)。host_root_home
- ルートユーザーのホームディレクトリ(例:/root
)。host_user_homes
- ユーザーホームディレクトリの基準ディレクトリ(例:Linuxでは/home
、OS Xでは/Users
)。
例プレイブック
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
カスタムSSHキーのプロパティ
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
ssh_key_bits: 2048
ssh_key_comment: my-key
デフォルトのユーザーが定義されている場合(例:プレイブックレベルで)
- hosts: servers
vars:
user: jdoe
roles:
- role: AlphaHydrae.ssh-key
キーをルートユーザーの.sshディレクトリにシンボリックリンクする
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
ssh_key_root_link: true