Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cat defaults/main.yml
- authorized_keys: /etc/ssh/authorized_keys
- users:
- - name: root
- pass: passwordhash
- ugid: 0
- pubkeys:
- - key1
- - key2
- - name: user1
- ugid: 1000
- pubkeys:
- - key1
- - key2
- -----
- $ cat tasks/main.yml
- ---
- - name: group | {{ item.name }}
- group: >
- name={{ item.name }}
- gid={{ item.ugid }}
- state=present
- with_items: users
- - name: user | {{ item.name }}
- user: >
- name={{ item.name }}
- uid={{ item.ugid }}
- group={{ item.name }}
- password={{ item.pass | default('!!') }}
- comment={{ item.name }}
- shell={{ item.shell | default('/bin/bash') }}
- state=present
- with_items: users
- - name: file | {{ authorized_keys }}
- file: >
- path={{ authorized_keys }}
- state=directory
- mode=0755
- - name: template | {{ item.name }}
- template: >
- src=authorized_keys.j2
- dest={{ authorized_keys }}/{{ item.name }}
- owner=root
- group=root
- mode=0644
- with_items: users
- -----
- $ cat templates/authorized_keys.j2
- {% for user in item.pubkeys %}
- environment="GECOS={{ user }}" {{ lookup('file', user + '.pub') }}
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment