1. 程式人生 > >ansible的安裝

ansible的安裝

url 找到 出現 support 用戶密碼 iyu 提示 fin OS

一、安裝ansible

  1、 python版本需要2.6以上,不過通過centos7都會默認安裝上python2.7.5,查看方法:python -V

  2、 添加yum 源

    a、 vim /etc/yum.repos.d/ansible

    b、 添加如下內容:

      [epel]

      name = all source for ansible

      baseurl = https://mirrors.aliyun.com/epel/7/x86_64/

      enabled = 1

      gpgcheck = 0

      [ansible]

      name = all source for ansible

      baseurl = http://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/

      enabled = 1

      gpgcheck = 0

  3、 yum clean all

  4、 安裝ansible:yum install ansible -y

二、配置ansible

  1、 使用ansible前需實現ansible服務器對另外兩臺機的ssh無密碼訪問,操作如下:

    a、 輸入命令:ssh-keygen,一直按回車,直至完成操作;

    b、 命令:ssh-copy-id [email protected] ,然後輸入連接密碼即可實現無密碼訪問,另外一臺機的設置方式一樣,不再贅述。

  2、 添加ansible客戶機組,命令:vim /etc/ansible/hosts,在最後面添加如下內容:

    [group1]

    192.168.1.10

    192.168.1.23

出現如下問題:

在ansible安裝完畢後一般需要以SSH的方式連接到需要進行管理的目標主機,一開始遇到了如下問題:

192.168.1.10 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",


"unreachable": true
}
192.168.1.23 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true

1:管理節點生成SSH-KEY

#ssh-keygen

成功後在~/.ssh/路徑下將生成ssh密鑰文件:id_rsa及id_rsa.pub

2:添加目標節點的SSH認證信息

#ssh-copy-id root@目標節點IP

這裏root是在目標節點上登錄的用戶,@符號後面接目標節點IP即可,之後會提示輸入目標節點root用戶密碼,輸入即可。

添加認證信息後,目標節點主機的~/.ssh/目錄下將會出現一個authorized_keys文件,裏面包含了ansible管理節點的公鑰信息,可以檢查一下是否存在。

3:在確定目標主機的SSH認證信息都已正確添加且目標主機的~/.ssh/目錄都存在管理節點的公鑰信息後,再執行之前出錯的ansible ping指令:

對之前未連接的主機進行連結時報錯如下:

[root@puppet ~]# ansible webservers -m command -a ‘ls ~‘ -k
SSH password:
120.76.25.191 | FAILED | rc=0 >>
Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host‘s fingerprint to your known_hosts file to manage this host.

解決步驟:

修改ansible.cfg文件

vi /etc/ansible/ansible.cfg

找到以下行,讓host_key_checking=False這行生效

# uncomment this to disable SSH key host checking
host_key_checking = False

三、使用ansible

  1、 在另外兩臺機上執行ping命令:ansible group1 -m ping

  2、 復制本機文件到組group1:ansible group1 -m copy -a “src=/etc/hosts dest=/etc/”

  3、 幫group1安裝軟件:ansible group1 -m shell -a “yum install wget -y”

ansible的安裝