环境:FreeBSD系统,python2.7
本地机:172.20.254.181,
远程机:172.20.254.182.
1、在本地机上安装pip
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python get-pip.py
2、在本地机上安装ansible
pip install ansible
PS:如果系统安装了python3,可能默认的是用跟python3匹配的pip安装ansible,这样把ansible安装到python3 的目录下面,因为ansible还不被python3支持,所以会出错。解决方法是:修改默认使用的python为python2.7
使用命令/usr/local/bin # ls -ll | grep python可以看到当前软链接到的python版本
看红线部分,我这里已经被我修改过了,所以不用再改了。如果是链接到python3.3,就需要使用下面的命令修改:
ln -s /usr/local/bin/python2.7 /usr/bin/python
再用下面的命令试试看当前的python版本:
3、创建下图的目录以及配置文件ansible.cfg和主机文件hosts
Ansible.cfg可以去github下载例子文件:
curl -O https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg
4、主机清单里先简单的这样设置:
没有后面的设置python解析器会出错,这点很重要,找半天才找出这个原因。
5、测试一下本机功能:
6、连接远程主机
因为ansible默认使用的是SSH连接,所以两台机子都需要安装好SSH。然后为了不用每次都输密码,我们使用如下步骤(简单的步骤,有些略过):
(1)先在远程主机里创建authorized_keys,如下图即可:
(2)在本地机子上
运行:ssh-keygen -t rsa
然后会生成一个.ssh目录,目录里有私钥id_rsa 和公钥id_rsa.pub。
(3)把.ssh目录里面的公钥id_rsa.pub拷贝到远程机de authorized_keys里:
scp /root/.ssh/id_rsa.pub root@172.20.254.182:/root
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
在authorized_keys里可以看到如下图结果:
7、用ansible的ping模块测试远程主机
可以看到,返回了”pong”,说明连通了,而且不需要每次输入密码了。