ansible批量向客户端推送公钥,实现免密登录
ansible 控制端生产密钥
1.使用 ssh-keygen -t rsa生成密钥对
ssh-keygen -t rsa
2.配置将客户端信息加到ansible得hosts配置文件中
[test]
192.168.252.213 ansible_ssh_user=root ansible_ssh_pass=1qaz@WSX
检测连接
ansible test -m ping
3.ansible服务端配置生成公钥,执行以下命令然后一直回车即可。
ssh-keygen -t rsa
4.配置ansible剧本文件push-ssh.yml
# Using alternate directory locations:
- hosts: tomcat-servers
user: tomcat (互信用户)
tasks:
- name: ssh-copy
authorized_key: user=tomcat(互信用户) key="{{ lookup('file', '/home/tomcat/.ssh/id_rsa.pub(master端公钥)') }}"
tags:
- sshkey
5.使用ansible-playbook命令执行以上push-ssh.yml剧本文件看效果
6.验证ssh登录客户端是否免密。
ssh root@192.168.253.3