ansible實現批量創建互信

Ansible:自動化運維工具html

爲何要創建互信:ansible批量配置管理的前提是管理機和被管理機ssh互信,即經過將管理主機的公鑰(id_rsa.pub)添加到目標主機上,實現管理機不經過交互式輸入密碼就能夠登陸目標主機。bash

創建互信運維

一、生成祕鑰對ssh

$ ssh-keygen -t rsa

一路回車便可工具

二、創建互信:測試

格式: ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]  //[]內爲目標主機的信息spa

$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.1.2

根據提示完成操做即完成了互信。code

批量創建互信htm

經過上面方法創建少許的互信操做起來還OK,可是若是目標主機數量多的狀況下再手動的執行就太慢了,因此這裏採用ansible的authoried_keys 模塊進行批量創建互信blog

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

一、配置hosts文件(ansible的目標主機定義文件)

$ cat /etc/ansible/hosts [test] 192.168.12.5[1:4]       #表示192.168.12.51-192.168.12.54
192.168.12.5[6:9] 192.168.13.101
192.168.13.103

二、創建playbook(稱爲劇本,ansible按它中的配置批量執行命令)

$ cat pushssh.yaml
--- - hosts: test #test對呀hosts文件中的主機組名稱 # 互信用戶 user: abm tasks: - name: ssh-copy authorized_key: user=hoxis key="{{ lookup('file', '/home/abm/.ssh/id_rsa.pub') }}"

三、執行

$ ansible-playbook pushssh.yaml

 

四、測試

命令:ansible test -m ping

 

返回綠色SUCCESS,表明互信成功能夠批量執行ansible命令了。

相關文章
相關標籤/搜索