一个简单的ansible配置,简单ansible配置


环境:一台管理机,二台被管理主机
操作系统:Centos7.4
管理机IP:192.168.0.201
二台被管理主机IP:192.168.0.206 192.168.0.207
目的:在管理机上安装ansible,通过ansible来管理另外两台主机

1、在管理机上配置好epel源,通过epel源安装ansible

yum install ansible -y

2、定义主机清单
vi /etc/ansible/hosts

添加
[webserver]
192.168.0.206
192.168.0.207

3、创建密钥并将管理机的公钥拷贝到远程主机
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.206
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.207

将管理机的公钥拷贝到远程主机的.ssh/authorized_keys,在被管理主机上使用命令ll -d .ssh/authorized_keys可以看到默认的权限是600,ll -d .ssh是700

4、接下来就可以使用ansible命令了,比如向所有主机ping操作

ansible all -m ping

显示以下内容表示配置成功
192.168.0.206 | SUCCESS => {
"changed": false, 
"ping": "pong"

}
192.168.0.207 | SUCCESS => {

"changed": false, 
"ping": "pong"

}


这样一个简单的ansible就配置好了

附录:

1、如果被管理主机不是默认22端口(比如222端口),则使用以下命令

ssh-copy-id -i .ssh/id_rsa.pub -p 222 root@192.168.0.207

2、如果使用了非默认22端口(比如222端口),定义主机清单时需要指定端口
[webserver]
192.168.0.207:222

[webserver]
192.168.0.207 ansible_ssh_port=222

3、如果被管理主机禁用了密码,可以手动将管理机的公钥(.ssh/id_rsa.pub)内容,复制到被管理机的(.ssh/authorized_keys)中

4、如果想在管理机上以被管理主机的普通用户来执行,可以将管理机的公钥内容复制到被管理机普通用户的家目录(.ssh/authorized_keys)中,并在管理机的主机清单中指定用户

[webserver]
192.168.0.207 ansible_ssh_port=222 ansible_ssh_user=whsir

一个简单的ansible配置whsir

相关内容