--- # Rôle ssh — reprend 01-ssh (sshd_config, ssh_config, banner, motd, clés # autorisées) et le durcissement du projet terraform-proxmox-serveur-debian-12. # # Principe : les accès distants sont exclusivement en SSH par clé publique ; # le mot de passe des comptes reste utilisable en local (console, su), # le rôle ne le verrouille jamais. ssh_port: 22 # yes | prohibit-password | no # prohibit-password : root par clé uniquement (nécessaire si Ansible se # connecte en root) ; le mot de passe root reste utilisable sur la console. ssh_permit_root_login: prohibit-password # Comptes autorisés en SSH. Chaque entrée : name (obligatoire), groups (liste, # « sudo_or_wheel » est traduit selon l'OS), sudo_nopasswd (bool), shell, # password_hash (optionnel, pour un mot de passe local — jamais en clair). # Les clés publiques sont lues dans files/keys//*.pub. ssh_users: - name: root ssh_keys_dir: "{{ playbook_dir }}/files/keys" # Clés centralisées dans /etc/ssh/authorized_keys/, appartenant à # root : un utilisateur ne peut pas ajouter de clé lui-même (reprise de # l'ancien script, qui posait un lien symbolique vers /root/.ssh). # false : clés classiques dans ~/.ssh/authorized_keys. ssh_central_authorized_keys: true # Groupes supplémentaires autorisés en SSH (en plus des ssh_users). ssh_allow_groups: [] # Durcissement du démon. ssh_max_auth_tries: 3 ssh_max_sessions: 4 ssh_max_startups: "10:30:60" ssh_login_grace_time: 30 ssh_client_alive_interval: 300 ssh_client_alive_count_max: 2 ssh_x11_forwarding: false ssh_agent_forwarding: false ssh_tcp_forwarding: false ssh_log_level: VERBOSE # Algorithmes (Debian/Ubuntu uniquement : sous Red Hat ils sont imposés par # crypto-policies, ne pas les redéfinir dans sshd_config). ssh_kex_algorithms: - sntrup761x25519-sha512@openssh.com - curve25519-sha256 - curve25519-sha256@libssh.org - diffie-hellman-group16-sha512 - diffie-hellman-group18-sha512 ssh_ciphers: - chacha20-poly1305@openssh.com - aes256-gcm@openssh.com - aes128-gcm@openssh.com - aes256-ctr ssh_macs: - hmac-sha2-512-etm@openssh.com - hmac-sha2-256-etm@openssh.com - umac-128-etm@openssh.com ssh_host_key_algorithms: - ssh-ed25519 - ssh-ed25519-cert-v01@openssh.com - rsa-sha2-512 - rsa-sha2-256 ssh_pubkey_accepted_algorithms: "{{ ssh_host_key_algorithms }}" # Bannière d'avertissement (avant authentification) et MOTD (après). ssh_banner: true ssh_banner_organisation: "l'organisation" # Logo ASCII affiché en tête de bannière (chaîne multiligne, vide = pas de logo). ssh_banner_logo: "" ssh_motd: true # Sous Ubuntu : désactiver les MOTD publicitaires (motd-news, help-text). ssh_motd_disable_ubuntu_extras: true # Durcissement du client ssh (ssh_config) : pas d'agent forwarding ni de X11 # par défaut, known_hosts hachés. ssh_client_hardening: true # Après redémarrage du démon, ouvrir une NOUVELLE connexion depuis le # contrôleur pour vérifier qu'on ne s'est pas enfermé dehors. ssh_verify_new_connection: true