您的位置:首页 > 其它

ansible配置笔记(一)

2016-04-28 13:23 169 查看
下面的全部实验是在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[/code]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 root@192.168.2.12    # 将该公钥导入其他主机


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再执行同样的命令就不用再输入密码了。但执行不同的命令还是需要再次输入私钥的密码才能执行命令的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: