2014-01-04 03:32:05 +01:00
|
|
|
{% from "openssh/map.jinja" import openssh with context %}
|
|
|
|
|
|
|
|
include:
|
|
|
|
- openssh
|
|
|
|
|
2017-02-24 21:13:52 +01:00
|
|
|
{% if salt['pillar.get']('sshd_config', False) %}
|
2014-01-04 03:32:05 +01:00
|
|
|
sshd_config:
|
|
|
|
file.managed:
|
|
|
|
- name: {{ openssh.sshd_config }}
|
|
|
|
- source: {{ openssh.sshd_config_src }}
|
2014-01-09 13:57:00 +01:00
|
|
|
- template: jinja
|
2017-02-23 22:42:16 +01:00
|
|
|
- user: {{ openssh.sshd_config_user }}
|
|
|
|
- group: {{ openssh.sshd_config_group }}
|
|
|
|
- mode: {{ openssh.sshd_config_mode }}
|
2014-01-04 03:32:05 +01:00
|
|
|
- watch_in:
|
2014-01-09 13:54:49 +01:00
|
|
|
- service: openssh
|
2017-02-24 21:13:52 +01:00
|
|
|
{% endif %}
|
2014-01-04 03:32:05 +01:00
|
|
|
|
2017-02-24 21:13:52 +01:00
|
|
|
{% if salt['pillar.get']('ssh_config', False) %}
|
2015-10-01 17:21:16 +02:00
|
|
|
ssh_config:
|
|
|
|
file.managed:
|
|
|
|
- name: {{ openssh.ssh_config }}
|
|
|
|
- source: {{ openssh.ssh_config_src }}
|
|
|
|
- template: jinja
|
2017-02-23 22:42:16 +01:00
|
|
|
- user: {{ openssh.ssh_config_user }}
|
|
|
|
- group: {{ openssh.ssh_config_group }}
|
|
|
|
- mode: {{ openssh.ssh_config_mode }}
|
2017-02-24 21:13:52 +01:00
|
|
|
{% endif %}
|
2015-10-01 17:21:16 +02:00
|
|
|
|
2014-12-15 07:00:17 +01:00
|
|
|
{% for keyType in ['ecdsa', 'dsa', 'rsa', 'ed25519'] %}
|
2014-08-24 17:08:41 +02:00
|
|
|
{% if salt['pillar.get']('openssh:generate_' ~ keyType ~ '_keys', False) %}
|
|
|
|
ssh_generate_host_{{ keyType }}_key:
|
|
|
|
cmd.run:
|
2015-07-12 18:09:26 +02:00
|
|
|
{%- if salt['pillar.get']('openssh:generate_' ~ keyType ~ '_size', False) %}
|
|
|
|
{%- set keySize = salt['pillar.get']('openssh:generate_' ~ keyType ~ '_size', 4096) %}
|
|
|
|
- name: ssh-keygen -t {{ keyType }} -b {{ keySize }} -N '' -f /etc/ssh/ssh_host_{{ keyType }}_key
|
|
|
|
{%- else %}
|
2014-08-24 17:08:41 +02:00
|
|
|
- name: ssh-keygen -t {{ keyType }} -N '' -f /etc/ssh/ssh_host_{{ keyType }}_key
|
2015-07-12 18:09:26 +02:00
|
|
|
{%- endif %}
|
2014-08-24 17:08:41 +02:00
|
|
|
- creates: /etc/ssh/ssh_host_{{ keyType }}_key
|
|
|
|
- user: root
|
|
|
|
|
2015-06-07 20:37:33 +02:00
|
|
|
{% elif salt['pillar.get']('openssh:absent_' ~ keyType ~ '_keys', False) %}
|
|
|
|
ssh_host_{{ keyType }}_key:
|
|
|
|
file.absent:
|
|
|
|
- name: /etc/ssh/ssh_host_{{ keyType }}_key
|
|
|
|
|
|
|
|
ssh_host_{{ keyType }}_key.pub:
|
|
|
|
file.absent:
|
|
|
|
- name: /etc/ssh/ssh_host_{{ keyType }}_key.pub
|
|
|
|
|
2014-08-24 17:08:41 +02:00
|
|
|
{% elif salt['pillar.get']('openssh:provide_' ~ keyType ~ '_keys', False) %}
|
2014-08-24 12:50:36 +02:00
|
|
|
ssh_host_{{ keyType }}_key:
|
2014-03-17 23:17:04 +01:00
|
|
|
file.managed:
|
2014-08-24 12:50:36 +02:00
|
|
|
- name: /etc/ssh/ssh_host_{{ keyType }}_key
|
|
|
|
- contents_pillar: 'openssh:{{ keyType }}:private_key'
|
2014-03-17 23:17:04 +01:00
|
|
|
- user: root
|
|
|
|
- mode: 600
|
|
|
|
- require_in:
|
|
|
|
- service: {{ openssh.service }}
|
|
|
|
|
2014-08-24 12:50:36 +02:00
|
|
|
ssh_host_{{ keyType }}_key.pub:
|
2014-03-17 23:17:04 +01:00
|
|
|
file.managed:
|
2014-08-24 12:50:36 +02:00
|
|
|
- name: /etc/ssh/ssh_host_{{ keyType }}_key.pub
|
|
|
|
- contents_pillar: 'openssh:{{ keyType }}:public_key'
|
2014-03-17 23:17:04 +01:00
|
|
|
- user: root
|
|
|
|
- mode: 600
|
|
|
|
- require_in:
|
|
|
|
- service: {{ openssh.service }}
|
|
|
|
{% endif %}
|
2014-12-15 07:00:45 +01:00
|
|
|
{% endfor %}
|