ansible配置筆記(一)
- 2019 年 10 月 4 日
- 筆記
下面的全部實驗是在CentOS6.7X86_64上實驗通過。
1、配置epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
2、安裝ansible
yum install ansible
3、配置SSH免密碼登陸
ssh-keygen -t rsa # 生成密鑰對 cat .ssh/id_rsa.pub >>.ssh/authorized_keys # 將公鑰導入本機 chmod 600 .ssh/authorized_keys # 安全起見,設置許可權為600 ssh-copy-id -i .ssh/id_rsa.pub [email protected] # 將該公鑰導入其他主機
4、定義主機組
編輯/etc/ansible/hosts ,注釋掉全部內容,改成自己的節點資訊,下面的這些的是符合要求的寫法:
[webserver] 172.16.20.72 172.16.20.73 [IDC] 172.16.9.33:63222 jumper ansible_ssh_port=64222 ansible_ssh_host=172.16.9.34
5、簡單測試
ansible webserver -m command -a 'uptime' ansible webserver -m setup # 查看遠程主機的基本資訊 ansible webserver -m ping # 測試遠程主機是否在線 命令格式:ansible 主機組 -m command -a '命令'
補充:
網上大部分教程都是出於演示,簡單的配置了SSH免密碼的密鑰登錄法【上面筆記的第三步】,這樣存在一個問題:假如ansible控制端出問題了,被***,則全部節點都存在風險。
因此出於安全考慮,建議使用帶密碼的密鑰登陸方式。配置如下:
mkdir /etc/ansible/ssh_keys ssh-keygen -t rsa -f /etc/ansible/ssh_keys/node2.key # 注意要給私鑰設密碼 chmod 700 /etc/ansible/ssh_keys/node2.key 將/etc/ansible/ssh_keys/node2.key.pub內容追加到遠程主機的authorized_keys文件裡面。
然後,編輯/etc/ansible/hosts,修改如下:
[node2] 192.168.2.12 ansible_ssh_private_key_file=/etc/ansible/ssh_keys/node2.key
保存退出後,執行
ansible node2 -m command -a 'ls /root' 這時,系統會提示輸入私鑰的密碼才能連接伺服器

經過我虛擬機測試,輸入一次密碼後,ansible再執行同樣的命令就不用再輸入密碼了。但執行不同的命令還是需要再次輸入私鑰的密碼才能執行命令的。