天天看點

利用Ansible 批量推送公鑰前言1、安裝Ansible服務端二、playbook 批量推送

前言

利用ansible 自動化運維工具實作批量推送公鑰。

1、安裝Ansible服務端

  • yum安裝
# yum install epel-release  #確定有擴充源
# yum install ansible -y
           
  • 檢視安裝版本
# ansible --version
ansible 2.9.6
  配置檔案路徑config file = /etc/ansible/ansible.cfg
  查詢子產品路徑configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
           

二、playbook 批量推送

  • 首先配置不檢測對方主機公鑰
# vim ansible.cfg
[defaults]
host_key_checking = False  #取消注釋
           
  • 執行指令生成公鑰
  • 編寫playbook檔案
# cat send-pubkey.yml
- hosts: all
  remote_user: root   # 連接配接遠端主機的使用者,密碼就是檔案中設定好的 ansible_ssh_pass 的值
  vars_files:
    - foo.yml    # 設定使用者名密碼 由于我是root使用者且密碼全為 1  ansible_ssh_pass: 1
  tasks:
  - name: Set authorized key taken from file
    authorized_key:    # 發送公鑰的子產品
      user: root            # 給這個使用者發送公鑰
      state: present
      key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"    # 發送本地使用者的公鑰路徑
           
  • 編輯foo.yml檔案 設定密碼
# vim foo.yml
ansible_ssh_pass: 1  
#這裡我是密碼全為1 ,如果不是 請自行百度: 多主機且密碼不一樣時如何書寫yml檔案
           
  • 編輯資産檔案hosts
# vim hosts
[webserver]
...
[dbserver]
...
           
  • 執行
  • 驗證

*#注意以上配置檔案放在同一個目錄下執行

繼續閱讀