使用ansible 批量部署ssh免秘钥登录

前提条件:
ansible的inventory(即ansible的hosts)中配置:
[web]
10.0.0.20
10.0.0.31

1 创建ssh秘钥
(1) 安装ssh非交互工具sshpass
rpm -ivh sshpass-1.06-1.el6.x86_64.rpm
(2)生成公钥
ssh-keygen -t rsa

2 批量复制秘钥并授权
ansible web -m shell -a 'mkdir ~/.ssh' -k
ansible web -m copy -a 'src=~/.ssh/id_rsa.pub dest=~/.ssh/authorized_keys mode=0600' -k

3 测试
ssh 10.0.0.20
ssh 10.0.0.21

问题:
[root@ansible-10 ansible]# ansible web -m ping -k
SSH password: 
10.0.0.21 | FAILED! => {
    "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"
}
10.0.0.20 | FAILED! => {
    "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"
}

解决方法:
yum install epel-release -y
yum install sshpass -y
 

你可能感兴趣的:(使用ansible 批量部署ssh免秘钥登录)