2026-06-24 20:17:46 -04:00
|
|
|
---
|
|
|
|
|
- name: Installer openssh-server
|
|
|
|
|
ansible.builtin.apt:
|
|
|
|
|
name: openssh-server
|
|
|
|
|
state: present
|
|
|
|
|
|
|
|
|
|
- name: Créer le répertoire sshd_config.d
|
|
|
|
|
ansible.builtin.file:
|
|
|
|
|
path: /etc/ssh/sshd_config.d
|
|
|
|
|
state: directory
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0755"
|
|
|
|
|
|
2026-08-25 03:40:24 -04:00
|
|
|
# UN RENOMMAGE DE ROLE LAISSE SON ANCIEN FICHIER EN VIGUEUR (2026-08-25).
|
|
|
|
|
#
|
|
|
|
|
# Ce role s'appelait `chezlepro` et deposait `10-chezlepro.conf`. Renomme en `setops`, il
|
|
|
|
|
# depose `10-setops.conf` — et l'ancien EST RESTE. Mesure sur forge-01 : les deux paires
|
|
|
|
|
# coexistent, et elles ne disent pas la meme chose (`MaxSessions 2` contre `10`).
|
|
|
|
|
#
|
|
|
|
|
# sshd retient LA PREMIERE valeur rencontree pour chaque mot-cle, et lit les drop-ins dans
|
|
|
|
|
# l'ordre lexical : c'est donc l'ANCIEN fichier qui gagne. Une configuration qu'on croit
|
|
|
|
|
# avoir remplacee reste aux commandes, en silence, et sa trace se lira un jour comme une
|
|
|
|
|
# lenteur inexplicable pendant un deploiement parallele.
|
|
|
|
|
#
|
|
|
|
|
# Retirer un fichier qu'on ne depose plus fait partie du travail de le deposer.
|
|
|
|
|
- name: Retirer les configurations SSH d'une nomenclature abandonnee
|
|
|
|
|
ansible.builtin.file:
|
|
|
|
|
path: "/etc/ssh/sshd_config.d/{{ item }}"
|
|
|
|
|
state: absent
|
|
|
|
|
loop: "{{ ssh_baseline_fichiers_perimes }}"
|
|
|
|
|
notify: Validate and reload ssh
|
|
|
|
|
|
2026-06-24 20:17:46 -04:00
|
|
|
- name: Déployer la configuration SSH Set-OPS
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: 10-setops.conf.j2
|
|
|
|
|
dest: /etc/ssh/sshd_config.d/10-setops.conf
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0644"
|
|
|
|
|
notify: Validate and reload ssh
|
|
|
|
|
|
|
|
|
|
- name: Activer et démarrer SSH
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
name: ssh
|
|
|
|
|
enabled: true
|
|
|
|
|
state: started
|
2026-08-24 15:50:37 -04:00
|
|
|
|
|
|
|
|
# Voir defaults/main.yml pour le raisonnement (etat par entree, pas d'`exclusive`).
|
|
|
|
|
- name: Autoriser — ou révoquer — les clés d'administration déclarées au plan
|
|
|
|
|
ansible.posix.authorized_key:
|
|
|
|
|
user: "{{ ssh_baseline_admin_user }}"
|
|
|
|
|
key: "{{ item.cle }}"
|
|
|
|
|
state: "{{ item.etat | default('present') }}"
|
|
|
|
|
comment: "{{ item.pourquoi | default(omit) }}"
|
|
|
|
|
loop: "{{ ssh_baseline_cles_admin }}"
|
|
|
|
|
loop_control:
|
|
|
|
|
label: "{{ item.pourquoi | default(item.cle[:40]) }} → {{ item.etat | default('present') }}"
|
|
|
|
|
when: not ansible_check_mode
|