ansible 批量推送ssh秘钥

ansible 批量推送ssh秘钥

参考:http://docs.ansible.com/ansible/authorized_key_module.html

# vi /etc/ansible/hosts
[caoguo]
192.168.88.154 ansible_ssh_user=root ansible_ssh_pass=toor ansible_ssh_port=22
[root@localhost ansible]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
84:61:42:25:69:e1:d8:ee:9a:1d:d1:3e:b6:b4:4d:5b root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|   .=++          |
|   +o+ o         |
|  ..o . .        |
|   . . .         |
|    o . S        |
|   . o           |
|    o = . E      |
|   + + * o       |
|  o . o o        |
+-----------------+

# 这里实现了两种可用方法

[root@localhost ansible]# cat rsync_key.yml 
- hosts: caoguo
  remote_user: root

  tasks:
  - name: copy ssh key
    authorized_key:
      user: root
      key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"

[root@localhost ansible]# cat rsync_key2.yml 
- hosts: caoguo
  remote_user: root

  tasks:
  - name: mkdir /root/.ssh
    command: mkdir -p /root/.ssh

  - name: copy ssh key
    copy: src=/root/.ssh/id_rsa.pub dest=/root/.ssh owner=root group=root mode=0644

原文地址:https://www.cnblogs.com/caoguo/p/5351127.html