方法一:
在master端通过ssh-keygen 重新生成一个没有密码的密钥,并将公钥内容追加到被管理端的~/.ssh/authorized_keys(可支持放多个额)中;
方法二:
在管理端通过ssh-add 秘钥路径 ,根据提示输入passphrash即可长期缓存,缺点是当用户退出重新登陆后失效。
其优化方案用keychain+ssh-agent
参考:http://www.ibm.com/developerworks/cn/linux/security/openssh/part2/
方法三:
通过expec来实现,用expect脚本来调ansible-playbook 命令,将私钥密码当成参数传进去;
另外在执行ansible-playbook test.yml的时候会自动提示和加不加-v参数效果好像一样。