天天看點

一個簡單的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 [email protected]
ssh-copy-id -i .ssh/id_rsa.pub [email protected]      

将管理機的公鑰拷貝到遠端主機的.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 [email protected]      

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

繼續閱讀