vn-ansible/create_user_ssh/main.yml

40 lines
1.1 KiB
YAML

---
- name: Add user | Debian based OS
user:
name: "{{ username }}"
groups: sudo,shadow
shell: /bin/bash
append: yes
generate_ssh_key: yes
ssh_key_bits: 4096
ssh_key_file: .ssh/id_rsa
when: ansible_os_family == "Debian"
- name: Add user | Redhat based OS
user:
name: "{{ username }}"
groups: wheel
shell: /bin/bash
append: yes
generate_ssh_key: yes
ssh_key_bits: 4096
ssh_key_file: .ssh/id_rsa
when: ansible_os_family == "RedHat"
- name: Sudo | add to sudoers file and validate
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^{{ username }} '
# line: '{{username}} ALL=(ALL) NOPASSWD:ALL'
line: "{{ username }} ALL=(ALL) {{ 'NOPASSWD:' if ( default_sudo_nopass|d(true)|bool ) else '' }}ALL"
validate: 'visudo -cf %s'
environment:
PATH: /usr/sbin:/usr/local/sbin:/sbin
#environment fixes Redhat issue of hard-coded path to visudo
- name: SSH Keys | Add authorized key for ssh key authentication
authorized_key:
user: "{{ username }}"
state: present
key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"