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再執行同樣的命令就不用再輸入密碼了。但執行不同的命令還是需要再次輸入私鑰的密碼才能執行命令的。