t2d.ssh_known_hosts
sshknownhostsrole
Ceci est un rôle Ansible qui gère le fichier SSH known hosts, généralement situé à /etc/ssh/ssh_known_hosts
ou ~user/.ssh/known_hosts
.
Le principal objectif de ce rôle est d'encapsuler le module sshknownhosts situé à https://github.com/bfmartin/ansible-sshknownhosts et de le rendre adapté à Ansible Galaxy.
Exigences
Tout système de type Unix avec un serveur openssh devrait fonctionner.
Sécurité
Si un fichier ssh_known_hosts est construit en utilisant ssh-keyscan sans vérifier les clés, les utilisateurs seront vulnérables aux attaques de type homme du milieu. D'autre part, si le modèle de sécurité permet un tel risque, ssh-keyscan peut aider à détecter les fichiers de clés altérés ou les attaques de type homme du milieu qui ont commencé après la création du fichier ssh_known_hosts.
(extrait de la page de manuel de ssh-keyscan)
Par conséquent, vous pouvez spécifier manuellement un empreinte en fournissant l'attribut fingerprint
.
Variables du rôle
Ce rôle utilise les variables suivantes et leurs valeurs par défaut :
ssh_known_hosts_path
: Le fichier de destination à écrire. La valeur par défaut est /etc/ssh/ssh_known_hosts et ~user/.ssh/known_hosts est une bonne alternative.
ssh_known_hosts_state
: présent ou absent. La valeur par défaut est présent.
ssh_known_hosts_enctype
: Le type d'encodage de clé publique à scanner. Les choix sont rsa, dsa, ecdsa ou ed25519. La valeur par défaut est rsa.
ssh_known_hosts_port
: Le port à utiliser lors de la connexion à l'hôte distant. La valeur par défaut est 22.
ssh_known_hosts_keyscan
: Le programme à utiliser pour scanner. La valeur par défaut est ssh-keyscan dans le chemin actuel.
ssh_known_hosts
: Liste de dictionnaires pour l'hôte et ses attributs à scanner :
ssh_known_hosts:
- name: example.com
state: present
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.example.com
- www2.example.com
Dépendances
Aucune.
Exemple de Playbook
- hosts: all
vars:
ssh_known_hosts:
- name: example.com
state: present
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.example.com
- www2.example.com
- name: srv.example.com
fingerprint: AAAAE2VjZHNhLXNoYTItbmlzdHAyN...
roles:
- role: sshknownhosts
Licence
BSD
Informations sur l'auteur
Byron F. Martin
Email : http://www.bfmartin.ca/contact
Github : bfmartin
This is an ansible role that manages the SSH known hosts file usually located at /etc/ssh/ssh_known_hosts or ~user/.ssh/known_hosts.
ansible-galaxy install t2d.ssh_known_hosts