Added ability to provide pillar path for ssh_auth.

This commit is contained in:
Shane Poage 2015-08-21 05:17:49 -05:00
parent 23ede3ac67
commit ff189c1613
2 changed files with 11 additions and 1 deletions

View File

@ -51,6 +51,9 @@ users:
# with the given keys # with the given keys
ssh_auth_file: ssh_auth_file:
- PUBLICKEY - PUBLICKEY
# ... or you can pull them from a different pillar similar to ssh_keys_pillar
ssh_auth_pillar:
id_rsa: "ssh_keys"
# If you prefer to keep public keys as files rather # If you prefer to keep public keys as files rather
# than inline in pillar, this works. # than inline in pillar, this works.
ssh_auth_sources: ssh_auth_sources:

View File

@ -159,17 +159,24 @@ users_user_{{ name }}_public_key:
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if 'ssh_auth_file' in user %} {% if 'ssh_auth_file' in user or 'ssh_auth_pillar' in user %}
users_authorized_keys_{{ name }}: users_authorized_keys_{{ name }}:
file.managed: file.managed:
- name: {{ home }}/.ssh/authorized_keys - name: {{ home }}/.ssh/authorized_keys
- user: {{ name }} - user: {{ name }}
- group: {{ name }} - group: {{ name }}
- mode: 600 - mode: 600
{% if 'ssh_auth_file' in user %}
- contents: | - contents: |
{% for auth in user.ssh_auth_file -%} {% for auth in user.ssh_auth_file -%}
{{ auth }} {{ auth }}
{% endfor -%} {% endfor -%}
{% else %}
- contents: |
{%- for key_name, pillar_name in user['ssh_auth_pillar'].items() %}
{{ salt['pillar.get'](pillar_name + ':' + key_name + ':pubkey', '') }}
{%- endfor %}
{% endif %}
{% endif %} {% endif %}
{% if 'ssh_auth' in user %} {% if 'ssh_auth' in user %}