一、目的
批量实现免密认证,适合管理大批量机器使用
二、步骤
1-1.第一种方式:收集被控制主机的公钥,用于构建并验证ssh_known_hosts
ssh-keyscan 10.0.1.102 >>/root/.ssh/known_hosts
1-2.第二种方式:第一次链接被控制的机器的时候,不检查private key,建议使用这种方式,比较方便
tail -1 /etc/profile
export ANSIBLE_HOST_KEY_CHECKING=False
2.yml文件
cat key.yml
---
- hosts: all
tasks:
- name: Non secret authentication
authorized_key: user=root key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}" state=present
3.hosts文件如下,将密码一同写入
cat hosts
[ssh]
192.168.228.[126:170]
[ssh:vars]
ansible_ssh_pass="123456"
4.执行
ansible-playbook -i hosts key.yml