|
|
@@ -0,0 +1,33 @@ |
|
|
|
include: |
|
|
|
- openssh |
|
|
|
|
|
|
|
{% from "openssh/map.jinja" import openssh with context -%} |
|
|
|
{%- set openssh_pillar = salt["pillar.get"]("openssh", {}) -%} |
|
|
|
{%- set authorized_keys_file = salt["pillar.get"]("sshd_config:AuthorizedKeysFile", None) %} |
|
|
|
|
|
|
|
{%- for store, config in salt["pillar.get"]("openssh:auth_map", {}).iteritems() %} |
|
|
|
{%- set store_base = config["source"] %} |
|
|
|
# SSH store openssh:auth_map:{{ store }} |
|
|
|
{%- for user, keys in config.get("users", {}).iteritems() %} |
|
|
|
{%- for key, key_cfg in keys.iteritems() %} |
|
|
|
"ssh_auth--{{ store }}--{{ user }}--{{ key }}": |
|
|
|
{%- set present = key_cfg.get("present", True) %} |
|
|
|
{%- set options = key_cfg.get("options", []) %} |
|
|
|
{%- if present %} |
|
|
|
ssh_auth.present: |
|
|
|
- require: |
|
|
|
- service: {{ openssh.service }} |
|
|
|
{%- else %} |
|
|
|
ssh_auth.absent: |
|
|
|
{%- endif %} |
|
|
|
- user: {{ user }} |
|
|
|
- source: {{ store_base }}/{{ key }}.pub |
|
|
|
{%- if authorized_keys_file %} |
|
|
|
- config: "{{ authorized_keys_file }}" |
|
|
|
{%- endif %} |
|
|
|
{%- if options %} |
|
|
|
- options: "{{ options }}" |
|
|
|
{%- endif %} |
|
|
|
{%- endfor %} |
|
|
|
{%- endfor %} |
|
|
|
{%- endfor %} |