mono-infrastructure/ansible/playbooks/tasks/ssh_config.yml

97 lines
2.7 KiB
YAML
Raw Normal View History

2020-12-11 07:39:15 +00:00
---
- name: Ensure SSH server is installed
2020-12-11 07:39:15 +00:00
package:
name: openssh-server
state: present
- name: Ensure SSH daemon is enabled
service:
name: sshd
enabled: true
2020-12-11 08:13:16 +00:00
# TODO: Prepare for /etc/ssh/sshd_config.d/* style of configuration
- name: SSH daemon configuration - global
2020-12-11 07:39:15 +00:00
block:
- name: SSH daemon configuration - base
2022-07-08 22:06:54 +00:00
ansible.builtin.template:
2020-12-11 07:39:15 +00:00
src: "etc/ssh/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-sshd_config.j2"
dest: "/etc/ssh/sshd_config"
2020-12-11 07:39:15 +00:00
owner: root
group: root
mode: '0600'
validate: /usr/sbin/sshd -t -f %s
backup: true
notify: restart_sshd
2022-07-08 22:06:54 +00:00
when:
- ansible_distribution_major_version == '8'
2022-07-09 06:42:23 +00:00
- name: Ensure sshd_config.d dir exists
ansible.builtin.file:
state: directory
path: "/etc/ssh/sshd_config.d"
owner: root
group: root
mode: '0700'
notify: restart_sshd
2022-07-08 22:06:54 +00:00
- name: Ensure an empty file exists
ansible.builtin.template:
state: touch
path: "/etc/ssh/sshd_config.d/99-end.conf"
owner: root
group: root
mode: '0600'
notify: restart_sshd
when:
- ansible_distribution_major_version == '8'
- name: Default Modular Configuration
when:
- (ansible_facts['distribution'] == 'Fedora') or
(ansible_facts['distribution'] in el_distro_name and ansible_facts['distribution_major_version']|int >= 9)
block:
#- name: Modular configuration (redhat)
# template:
# src: "etc/ssh/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-50-redhat.conf.j2"
# dest: "{{ ssh_modular_config }}"
# owner: root
# group: root
# mode: '0600'
# validate: /usr/sbin/sshd -t -f %s
# backup: yes
# notify: restart_sshd
- name: Custom Modular Configuration
template:
src: "etc/ssh/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-60-infra.conf.j2"
dest: "/etc/ssh/sshd_config.d/60-infra.conf"
owner: root
group: root
mode: '0600'
validate: /usr/sbin/sshd -t -f %s
backup: yes
notify: restart_sshd
2020-12-11 07:39:15 +00:00
rescue:
- name: Print errors for configuration and validation
debug:
msg: "Error in SSH daemon configuration or template"
2020-12-11 07:39:15 +00:00
- name: SSH banner
2020-12-11 07:39:15 +00:00
copy:
src: "etc/rockybanner"
2022-07-08 22:06:54 +00:00
dest: "/etc/banner"
2020-12-11 07:39:15 +00:00
owner: root
group: root
mode: '0644'
notify: restart_sshd
2020-12-11 07:39:15 +00:00
- name: Remove DSA keys
2020-12-11 07:39:15 +00:00
file:
path: "{{ item }}"
state: absent
with_items:
- /etc/ssh/ssh_host_dsa_key.pub
- /etc/ssh/ssh_host_dsa_key
...