Add possibility to manage ssh's known_hosts file.

This commit is contained in:
Heinz Wiesinger 2015-08-27 16:31:14 +02:00
parent 57811826af
commit 74d5f6cc3c
2 changed files with 35 additions and 0 deletions

View File

@ -59,6 +59,11 @@ users:
ssh_auth_sources: ssh_auth_sources:
- salt://keys/buser.id_rsa.pub - salt://keys/buser.id_rsa.pub
# Manage the ~/.ssh/config file # Manage the ~/.ssh/config file
ssh_known_hosts:
importanthost:
fingerprint: 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
ssh_known_hosts.absent:
- notimportanthost
ssh_config: ssh_config:
all: all:
hostname: "*" hostname: "*"

View File

@ -274,6 +274,36 @@ users_ssh_config_{{ name }}:
{% endfor -%} {% endfor -%}
{% endif %} {% endif %}
{% if 'ssh_known_hosts' in user %}
{% for hostname, host in user['ssh_known_hosts'].items() %}
users_ssh_known_hosts_{{ name }}_{{ loop.index0 }}:
ssh_known_hosts.present:
- user: {{ name }}
- name: {{ hostname }}
{% if 'port' in host %}
- port: {{ host['port'] }}
{% endif -%}
{% if 'fingerprint' in host %}
- fingerprint: {{ host['fingerprint'] }}
{% endif -%}
{% if 'key' in host %}
- key: {{ host['key'] }}
{% endif -%}
{% if 'enc' in host %}
- enc: {{ host['enc'] }}
{% endif -%}
{% endfor %}
{% endif %}
{% if 'ssh_known_hosts.absent' in user %}
{% for host in user['ssh_known_hosts.absent'] %}
users_ssh_known_hosts_delete_{{ name }}_{{ loop.index0 }}:
ssh_known_hosts.absent:
- user: {{ name }}
- name: {{ host }}
{% endfor %}
{% endif %}
{% if 'sudouser' in user and user['sudouser'] %} {% if 'sudouser' in user and user['sudouser'] %}
users_sudoer-{{ name }}: users_sudoer-{{ name }}: