Déploiement de multiples permissions autorisées sur plusieurs hôtes

Nous avons besoin de déployer des keys sur les servers, mais l'erreur est que les keys sont nombreuses et qu'elles ne doivent pas toutes être déployées sur tous les servers. Maintenant, nous le faisons suit:

dans plusieurs rôles / authorized_keys / vars / main.yml

ssh_users: - name: bob key: "{{ lookup('file', 'roles/authorized_keys/vars/bob.pub') }}" state: present - name: root key: "{{ lookup('file', 'roles/authorized_keys/vars/guru.pub') }}" state: present - name: root key: "{{ lookup('file', 'roles/authorized_keys/vars/user.pub') }}" state: absent 

dans la tâche: roles / authorized_keys / tasks / main.yml

 - name: Add ssh key. authorized_key: user={{ item.name }} key="{{ item.key }}" state={{ item.state }} with_items: ssh_users 

dans playbook: authorized_keys.yml

 --- - hosts: '{{ hosts }}' vars_files: - '{{ vars }}' roles: - { role: authorized_keys } 

Avant de commencer les rôles de modification du jeu de lecture / authorized_keys / vars / main.yml (présent ou absent). Lors du lancement de Playbook, ajoutez les hôtes et le groupe d'hôtes:

 ansible-playbook -i production --extra-vars "hosts=web:pg:1.2.3.4" authorized_keys.yml 

Auparavant, tout était bon, mais maintenant augmenté le nombre de keys et de servers. Et maintenant, je ne me souviens pas de qui doit être sur quel server.

Dites-moi s'il vous plaît comment je peux configurer la list des hôtes pour chaque key? Par exemple, quelque chose comme ceci:

 - name: bob key: "{{ lookup('file', 'roles/authorized_keys/vars/bob.pub') }}" servers: web,database,12.12.12.12 state: present - name: root key: "{{ lookup('file', 'roles/authorized_keys/vars/guru.pub') }}" servers: api,pg,30.30.30.30 state: present 

One Solution collect form web for “Déploiement de multiples permissions autorisées sur plusieurs hôtes”

J'utiliserais une variable hôte "ssh_users", qui indique les users qui ont besoin de leurs keys d'hôte ajoutées.

 - ssh_users: - bob - root - alice 

Ensuite, vous avez un file variable séparé qui définit le nom, la key et l'état pour chaque user SSH. Importez ce file variable, puis appelez votre tâche originale à peu près tel quel.

  • Quelle est la signification de l'user / hôte à la fin d'un file de key publique SSH?
  • Configuration de la key SSH en toute security pour que SCP / rsync s'exécute sans mot de passe
  • Gérer ssh_known_hosts avec une marionnette
  • Pourquoi mon empreinte digitale OpenSSH ne correspond-elle pas à l'empreinte digitale de key de console AWS EC2?
  • SSH en tant que root utilisant la key publique request toujours un mot de passe sur RHEL 6.1
  • comment se connecter au server mongodb via le tunnel ssh
  • Quelle est la différence entre authorized_keys et authorized_keys2?
  • Laravel Forge SSH sur windows non reconnu
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.