Centos使用ansible批量管理远程服务器

/ 1评 / 0

一、安装
1、安装第三方epel源

centos 5的epel
rpm -ivh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm
centos 6的epel
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

根据自己系统选择,然后直接yum安装即可

yum install ansible

2、配置
默认安装位置为 /etc/ansible
编辑 /etc/ansible/hosts 配置远程机器ip

[slave]
192.168.1.1
192.168.1.11
192.168.1.111

其中[slave]为远程服务器分组名字,可自己设置

3、生成ssh公钥
ssh-keygen -t rsa -P ''

该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。

4、配置ssh密匙远程登录
把管理端生成的/root/.ssh/id_rsa.pub 复制到远程机器的 /root/.ssh/authorized_keys文件里,先要在远程机器上创建好 /root/.ssh 这个目录
ansible slave -m shell -a ‘cd /root && mkdir .ssh’ -k
ansible slave -m copy -a 'src=/root/.ssh/id_rsa.pub dest=/root' -k
ansible slave -m shell -a 'cat /root/id_rsa.pub >> /root/.ssh/authorized_keys' -k

以上每一次连接远程机器都要使用“-k”这个命令来验证密码,也可以用“--ask-pass”来代替,配置万上面的ssh密匙以后就可以去掉这一步了。
测试:
ansible slave -m shell -a 'free -m'
正常的话会显示每个远程主机的内存使用情况。

到这里ansible就安装完毕,ansible命令最常用的用法
ansible -m MOE -a 'MOD_ARV'
所支持的模块可以使用ansible-doc -l来查看

一条回应:“Centos使用ansible批量管理远程服务器”

  1. keen说道:

    非交互式修改root密码
    (echo ‘aaazhuji.com’;sleep 1;echo ‘aaazhuji.com’) | passwd > /dev/null

发表评论

电子邮件地址不会被公开。 必填项已用*标注