2020-09-17 17:22:52 +02:00
|
|
|
---
|
|
|
|
- hosts: all
|
2020-11-20 23:12:04 +01:00
|
|
|
vars:
|
|
|
|
__sshd_test_backup_files:
|
|
|
|
- /etc/ssh/sshd_config
|
|
|
|
- /etc/ssh/sshd_config.d/00-ansible_system_role.conf
|
2020-09-17 17:22:52 +02:00
|
|
|
tasks:
|
2021-04-07 20:12:03 +02:00
|
|
|
- name: "Backup configuration files"
|
|
|
|
include_tasks: tasks/backup.yml
|
2020-11-20 23:12:04 +01:00
|
|
|
|
2021-04-07 20:12:03 +02:00
|
|
|
- name: Configure sshd with uncommon options, making sure it keeps running
|
|
|
|
block:
|
|
|
|
- name: Configure ssh with unsupported options
|
|
|
|
include_role:
|
|
|
|
name: ansible-sshd
|
|
|
|
vars:
|
|
|
|
sshd:
|
|
|
|
# Unsupported in new versions, but ignored ?
|
|
|
|
Protocol: 1
|
|
|
|
UsePrivilegeSeparation: no
|
|
|
|
UseLogin: yes
|
|
|
|
# Debian only
|
|
|
|
DebianBanner: /etc/motd
|
|
|
|
# Used in FreeBSD ?
|
|
|
|
VersionAddendum: FreeBSD-20180909
|
|
|
|
# HPN only
|
|
|
|
HPNDisabled: yes
|
|
|
|
HPNBufferSize: 2MB
|
|
|
|
TcpRcvBufPoll: yes
|
|
|
|
NoneEnabled: yes
|
|
|
|
# some builds might be without kerberos/GSSAPI
|
|
|
|
KerberosAuthentication: yes
|
|
|
|
GSSAPIStoreCredentialsOnRekey: yes
|
|
|
|
# SSHv1 options
|
|
|
|
KeyRegenerationInterval: 1h
|
|
|
|
ServerKeyBits: 1024
|
|
|
|
# This one is pretty new, but works on OpenBSD only
|
|
|
|
RDomain: 2
|
|
|
|
register: role_result
|
2020-09-17 17:22:52 +02:00
|
|
|
|
2021-04-07 20:12:03 +02:00
|
|
|
- name: unreachable task
|
|
|
|
fail:
|
|
|
|
msg: UNREACH
|
|
|
|
rescue:
|
|
|
|
- name: Check that we failed in the role
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- ansible_failed_result.msg != 'UNREACH'
|
|
|
|
- not role_result.changed
|
|
|
|
msg: "Role has not failed when it should have"
|
2021-08-09 09:49:13 +02:00
|
|
|
when:
|
|
|
|
- not (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '6')
|
2020-09-17 17:22:52 +02:00
|
|
|
|
2021-04-07 20:12:03 +02:00
|
|
|
- name: Make sure service is still running
|
|
|
|
service:
|
|
|
|
name: sshd
|
|
|
|
state: started
|
|
|
|
register: result
|
|
|
|
failed_when: result.changed
|
|
|
|
tags: tests::verify
|
2021-08-09 09:49:13 +02:00
|
|
|
when:
|
|
|
|
- not (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '6')
|
2020-11-20 23:12:04 +01:00
|
|
|
|
2021-04-07 20:12:03 +02:00
|
|
|
- name: "Restore configuration files"
|
|
|
|
include_tasks: tasks/restore.yml
|