環境:一台管理機,二台被管理主機
作業系統: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