What I have set up so far is working well.
My playbook is:
---
- hosts: bastion_hosts
vars_files:
- data/users.yml
gather_facts: no
sudo: True
name: Add/Delete/Update InPowered Users onto an instance. Usually
BounceBox
tasks:
- name: Add Users to the remote system
user: name={{ item.key }}
shell={{ item.value.shell }}
state={{ item.value.state }}
uid={{ item.value.uid }}
home={{ item.value.home }}
comment="{{ item.value.comment }}"
with_dict: users
- name: Pushing authorized key to remote server
authorized_key: user={{ item.key }} key="{{ item.value.ssh_pubkey }}"
with_dict: users
- name: Add wheel Group to sudo users
user: name={{ item.key }}
groups=wheel
when: '{{ item.value.setsudo }} == True'
with_dict: users
- name: Copy Private Keys to each user
debug: var={{ item.value.authkeys }}
with_dict: users
The authkeys variable contains a list of private key names "qa, prd, dev"
For each user, I want copy each of the listed private key files into the
.ssh directory. Something like
copy: src=/keypath/{{ first item in item.value.authkeys }}.pem
dest=/home/{{ item.keys }}/.ssh/{{ first item in item.value.authkeys }}.pem
mode=0600
But I'm not clear on how to grab the elements out of the authkeys to copy
down each file. (Further, I'm thinking I should be using vault, but... one
step at a time now)
My users.yml file looks like this:
---
users:
bob.brown:
state: present
uid: 1027
comment: "Bob Brown"
home: /home/bob.brown
ssh_pubkey: "ssh-rsa AAAAB3NzaC1yc2E..."
authkeys: "dev,qa,prd,ops"
shell: /bin/sh
setsudo: yes
colin.johnson:
state: present
uid: 1041
comment: "Colin Johnson"
home: /home/colin.johnson
ssh_pubkey: "ssh-rsa AAAAB3NzaC1..."
authkeys: "dev,qa,prd"
shell: /bin/sh
setsudo: no
Thanks to anyone who can help.
Bob
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/eb64eb1e-0ffd-4628-a024-d7eb618e7eea%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.