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命令了。