在Mac上使用Ansible,通过密码认证方式进行SSH连接
由于稍微需要些许巧思,所以请记下来。
1. 安装sshpass
$ brew install ansible
$ brew install http://git.io/sshpass.rb
2. 配置ansible.cfg文件
在Ubuntu中,据说要在/etc/ansible/ansible.cfg中写入,但在Mac上没有该文件,所以似乎应该在~/.ansible.cfg中写入。
$ nano ~/.ansible.cfg
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
我根据这里的参考内容将书写进去。
确认动作
$ cat hosts
[child]
192.168.11.[111:112] ansible_ssh_user=pi ansible_ssh_pass=raspberry
$ ansible -i hosts child -m ping
192.168.11.112 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.11.111 | SUCCESS => {
"changed": false,
"ping": "pong"
}