Updating Ubiqtorate
This commit is contained in:
45
playbooks/sshkey.yml
Normal file
45
playbooks/sshkey.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
# ---
|
||||
# sshkey.yml
|
||||
#
|
||||
# ssh-keyscan and copy your SSH key to hosts
|
||||
#
|
||||
# Parameters:
|
||||
# targets: group in the inventory to use
|
||||
# threads: number of simultaneous executions
|
||||
# pubkey: file to hand off
|
||||
# sshport (optional): override 22/tcp/ssh for Ansible control
|
||||
#
|
||||
# Expects ANSIBLE_VAULT_FILE to be set in the environment to path the vault
|
||||
#
|
||||
- hosts: "{{ targets | default('all') }}"
|
||||
order: sorted
|
||||
serial: "{{ threads | default('8') }}"
|
||||
gather_facts: false
|
||||
ignore_unreachable: true
|
||||
vars:
|
||||
ansible_ssh_port: "{{ sshport | default('22') }}"
|
||||
keyfile: "{{ pubkey | default(lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
|
||||
vars_files:
|
||||
- "{{ lookup('env', 'ANSIBLE_VAULT_FILE') }}"
|
||||
|
||||
tasks:
|
||||
- name: Get key
|
||||
delegate_to: localhost
|
||||
command: "cat {{ keyfile }}"
|
||||
register: key
|
||||
|
||||
# Thanks to https://gist.github.com/shirou/6928012
|
||||
- name: Ensure ssh host key known
|
||||
delegate_to: localhost
|
||||
lineinfile:
|
||||
dest: ~/.ssh/known_hosts
|
||||
create: yes
|
||||
state: present
|
||||
line: "{{ lookup('pipe', 'ssh-keyscan -trsa -p' + ansible_ssh_port + ' ' + inventory_hostname) }}"
|
||||
|
||||
- authorized_key:
|
||||
user: "{{ lookup('env','USER') }}"
|
||||
key: "{{ key.stdout }}"
|
||||
state: present
|
||||
exclusive: true
|
||||
name: "Pass authorized key"
|
||||
Reference in New Issue
Block a user