ansible的安装
Posted robi-9662
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible的安装相关的知识,希望对你有一定的参考价值。
一、安装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).
",
"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).
",
"unreachable": true
1:管理节点生成SSH-KEY
#ssh-keygen
成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsa及id_rsa.pub
2:添加目标节点的SSH认证信息
#ssh-copy-id [email protected]目标节点IP
这里root是在目标节点上登录的用户,@符号后面接目标节点IP即可,之后会提示输入目标节点root用户密码,输入即可。
添加认证信息后,目标节点主机的~/.ssh/目录下将会出现一个authorized_keys文件,里面包含了ansible管理节点的公钥信息,可以检查一下是否存在。
3:在确定目标主机的SSH认证信息都已正确添加且目标主机的~/.ssh/目录都存在管理节点的公钥信息后,再执行之前出错的ansible ping指令:
对之前未连接的主机进行连结时报错如下:
[[email protected] ~]# 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的安装的主要内容,如果未能解决你的问题,请参考以下文章