mirror of
https://github.com/roles-ansible/ansible_role_sshd.git
synced 2024-08-16 11:59:49 +02:00
create mechanism to get openssh-server version
This commit is contained in:
parent
132e656992
commit
50f3287641
11 changed files with 75 additions and 44 deletions
|
@ -63,5 +63,7 @@ sshd__allowed_groups:
|
||||||
- "admins"
|
- "admins"
|
||||||
sshd__xforwarding: True
|
sshd__xforwarding: True
|
||||||
|
|
||||||
|
sshd__state: present # use latest for upgrading
|
||||||
|
|
||||||
# perform simple version check for this role? (true is recomended)
|
# perform simple version check for this role? (true is recomended)
|
||||||
submodules_versioncheck: false
|
submodules_versioncheck: false
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
- name: systemctrl restart ssh
|
- name: systemctl restart ssh
|
||||||
become: yes
|
become: yes
|
||||||
service:
|
service:
|
||||||
name: "{{ sshd__service }}"
|
name: "{{ sshd__service }}"
|
||||||
|
|
43
tasks/keys.yml
Normal file
43
tasks/keys.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
---
|
||||||
|
- name: Generate new ssh host key pair if necessary
|
||||||
|
become: yes
|
||||||
|
command: ssh-keygen -t ecdsa -f 'ssh_host_{{ item }}_key' -P '' -q
|
||||||
|
args:
|
||||||
|
chdir: '/etc/ssh/'
|
||||||
|
creates: 'ssh_host_{{ item }}_key.pub'
|
||||||
|
notify:
|
||||||
|
- systemctl restart ssh
|
||||||
|
with_items: "{{ sshd__key_types }}"
|
||||||
|
when:
|
||||||
|
- sshd__manage_key_types | bool
|
||||||
|
|
||||||
|
- name: Remove unwanted host keys
|
||||||
|
become: yes
|
||||||
|
file:
|
||||||
|
path: '/etc/ssh/ssh_host_{{ item }}_key'
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- rsa
|
||||||
|
- dsa
|
||||||
|
notify:
|
||||||
|
- systemctl restart ssh
|
||||||
|
|
||||||
|
- name: make sure the correct keys are available
|
||||||
|
file:
|
||||||
|
path: '/etc/ssh/ssh_host_{{ item }}_key'
|
||||||
|
state: absent
|
||||||
|
become: yes
|
||||||
|
with_items:
|
||||||
|
- "{{ sshd__key_types_list | difference( sshd__key_types ) }}"
|
||||||
|
notify:
|
||||||
|
- systemctl restart ssh
|
||||||
|
|
||||||
|
- name: make sure the correct pubkeys are available
|
||||||
|
file:
|
||||||
|
path: '/etc/ssh/ssh_host_{{ item }}_key.pub'
|
||||||
|
state: absent
|
||||||
|
become: yes
|
||||||
|
with_items:
|
||||||
|
- "{{ sshd__key_types_list | difference( sshd__key_types ) }}"
|
||||||
|
notify:
|
||||||
|
- systemctl restart ssh
|
|
@ -2,6 +2,12 @@
|
||||||
- include_tasks: versioncheck.yml
|
- include_tasks: versioncheck.yml
|
||||||
when: submodules_versioncheck|bool
|
when: submodules_versioncheck|bool
|
||||||
|
|
||||||
|
- name: Gather the package facts
|
||||||
|
package_facts:
|
||||||
|
manager: auto
|
||||||
|
|
||||||
|
- include_tasks: packages.yml
|
||||||
|
|
||||||
- name: set sshd_service variable
|
- name: set sshd_service variable
|
||||||
block:
|
block:
|
||||||
- name: read os specific variable
|
- name: read os specific variable
|
||||||
|
@ -15,48 +21,12 @@
|
||||||
sshd__allowed_users: '{{ sshd__allowed_users + users.keys() | default({}) | sort }}'
|
sshd__allowed_users: '{{ sshd__allowed_users + users.keys() | default({}) | sort }}'
|
||||||
sshd__allowed_groups: '{{ sshd__allowed_groups + users.keys() | default({}) | sort }}'
|
sshd__allowed_groups: '{{ sshd__allowed_groups + users.keys() | default({}) | sort }}'
|
||||||
|
|
||||||
- name: Generate new ssh host key pair if necessary
|
- name: "get package version of {{ sshd__package }}"
|
||||||
become: yes
|
debug:
|
||||||
command: ssh-keygen -t ecdsa -f 'ssh_host_{{ item }}_key' -P '' -q
|
msg: "{{ ansible_facts.packages[sshd__package][0].version }}"
|
||||||
args:
|
when: "'{{ sshd__package }}' in ansible_facts.packages"
|
||||||
chdir: '/etc/ssh/'
|
|
||||||
creates: 'ssh_host_{{ item }}_key.pub'
|
|
||||||
notify:
|
|
||||||
- systemctrl restart ssh
|
|
||||||
with_items: "{{ sshd__key_types }}"
|
|
||||||
when:
|
|
||||||
- sshd__manage_key_types | bool
|
|
||||||
|
|
||||||
- name: Remove unwanted host keys
|
- include_tasks: keys.yml
|
||||||
become: yes
|
|
||||||
file:
|
|
||||||
path: '/etc/ssh/ssh_host_{{ item }}_key'
|
|
||||||
state: absent
|
|
||||||
with_items:
|
|
||||||
- rsa
|
|
||||||
- dsa
|
|
||||||
notify:
|
|
||||||
- systemctrl restart ssh
|
|
||||||
|
|
||||||
- name: make sure the correct keys are available
|
|
||||||
file:
|
|
||||||
path: '/etc/ssh/ssh_host_{{ item }}_key'
|
|
||||||
state: absent
|
|
||||||
become: yes
|
|
||||||
with_items:
|
|
||||||
- "{{ sshd__key_types_list | difference( sshd__key_types ) }}"
|
|
||||||
notify:
|
|
||||||
- systemctrl restart ssh
|
|
||||||
|
|
||||||
- name: make sure the correct pubkeys are available
|
|
||||||
file:
|
|
||||||
path: '/etc/ssh/ssh_host_{{ item }}_key.pub'
|
|
||||||
state: absent
|
|
||||||
become: yes
|
|
||||||
with_items:
|
|
||||||
- "{{ sshd__key_types_list | difference( sshd__key_types ) }}"
|
|
||||||
notify:
|
|
||||||
- systemctrl restart ssh
|
|
||||||
|
|
||||||
- name: Copy sshd configuration
|
- name: Copy sshd configuration
|
||||||
become: yes
|
become: yes
|
||||||
|
@ -69,4 +39,4 @@
|
||||||
validate: /usr/sbin/sshd -t -f %s
|
validate: /usr/sbin/sshd -t -f %s
|
||||||
backup: yes
|
backup: yes
|
||||||
notify:
|
notify:
|
||||||
- systemctrl restart ssh
|
- systemctl restart ssh
|
||||||
|
|
6
tasks/packages.yml
Normal file
6
tasks/packages.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: "install {{ sshd__package }}"
|
||||||
|
become: true
|
||||||
|
package:
|
||||||
|
name: "{{ sshd__package }}"
|
||||||
|
state: "{{ sshd_state }}"
|
|
@ -1,3 +1,3 @@
|
||||||
---
|
---
|
||||||
playbook_version_number: 2070 # should be over ninethousand
|
playbook_version_number: 2075 # should be over ninethousand
|
||||||
playbook_version_path: 'role-sshd_chaos-bodensee_github.com.version'
|
playbook_version_path: 'role-sshd_chaos-bodensee_github.com.version'
|
||||||
|
|
|
@ -8,3 +8,5 @@ sshd__key_types_list:
|
||||||
|
|
||||||
sshd__xauth:
|
sshd__xauth:
|
||||||
- xorg-xauth
|
- xorg-xauth
|
||||||
|
|
||||||
|
sshd__package: 'openssh-server'
|
||||||
|
|
|
@ -8,3 +8,5 @@ sshd__key_types_list:
|
||||||
|
|
||||||
sshd__xauth:
|
sshd__xauth:
|
||||||
- xorg-xauth
|
- xorg-xauth
|
||||||
|
|
||||||
|
sshd__package: 'openssh-server'
|
||||||
|
|
|
@ -8,3 +8,5 @@ sshd__key_types_list:
|
||||||
|
|
||||||
sshd__xauth:
|
sshd__xauth:
|
||||||
- xorg-xauth
|
- xorg-xauth
|
||||||
|
|
||||||
|
sshd__package: 'openssh-server'
|
||||||
|
|
|
@ -8,3 +8,5 @@ sshd__key_types_list:
|
||||||
|
|
||||||
sshd__xauth:
|
sshd__xauth:
|
||||||
- xorg-xauth
|
- xorg-xauth
|
||||||
|
|
||||||
|
sshd__package: 'openssh-server'
|
||||||
|
|
|
@ -8,3 +8,5 @@ sshd__key_types_list:
|
||||||
|
|
||||||
sshd__xauth:
|
sshd__xauth:
|
||||||
- xorg-xauth
|
- xorg-xauth
|
||||||
|
|
||||||
|
sshd__package: 'openssh-server'
|
||||||
|
|
Loading…
Reference in a new issue