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

À propos du projet

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.

Installer
ansible-galaxy install t2d.ssh_known_hosts
Licence
bsd-2-clause
Téléchargements
637
Propriétaire