Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --
- - hosts: all
- user: root
- vars:
- createuser: 'username'
- createpassword: 'myamazingpassword'
- publickey_path: '/home/username/.ssh/id_rsa.pub'
- tasks:
- - name: Setup | create user
- command: useradd -m {{ createuser }} creates=/home/{{ createuser }}
- sudo: true
- - name: Setup | set user password
- shell: usermod -p $(echo '{{ createpassword }}' | openssl passwd -1 -stdin) {{ createuser }}
- sudo: true
- - name: Setup | authorized key upload
- authorized_key: user={{ createuser }}
- key="{{ lookup('file', {{publickey_path}}) }}"
- path='/home/{{ createuser }}/.ssh/authorized_keys'
- manage_dir=no
- sudo: true
- - name: Sudoers | update sudoers file and validate
- lineinfile: "dest=/etc/sudoers
- insertafter=EOF
- line='{{ createuser }} ALL=(ALL) NOPASSWD: ALL'
- regexp='{{ createuser }} ALL=(ALL) NOPASSWD: ALL'
- state=present"
- sudo: true
- # Run this playbook with:
- # ansible-playbook --inventory-file=hosts.ini ansible_setup_users_ssh.yml
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement