在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"
}
广告
将在 10 秒后关闭
bannerAds