码迷,mamicode.com
首页 > 其他好文 > 详细

Ansible个人学习通过playbook实践批量免密

时间:2020-05-18 12:40:56      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:执行   字段   etc   yaml   install   --   one   安装   for   

方法一:直接使用for循环操作拷贝

#指令
for i in `seq 61 63`
do
  ssh-copy-id -i /root/.ssh/id_rsa.pub user_name@192.168.31.$i
done

方法二:使用ansible-playbook实现

1、安装ansible
[root@~]# yum install epel-release -y
[root@~]# yum install ansible -y
2、修改ansible配置,没有修改可能会报如下错误

Using a SSH password instead of a key is not possible because Host Key checking is enabl ed and sshp
3、需要修改 ansible.cfg 配置
[root@~]# vi /etc/ansible/ansible.cfg

#host_key_checking = False
修改后:
host_key_checking = False
4、生成密钥
[root@~]# ssh-keygen -t rsa
[root@~]# cd ssh-playbook
5、修改hosts配置(各主机的密码均为root)
[root@ ssh-playbook]# vi hosts
修改 ssh 与 [ssh:vars]字段

[ssh]
192.168.31.61
192.168.31.62
192.168.31.63

[ssh:vars]
ansible_ssh_user="root"
ansible_ssh_pass="root"

如果各主机密码不相同时使用如何配置
[ssh]
192.168.31.61 ansible_ssh_user="root" ansible_ssh_pass="root61"
192.168.31.62 ansible_ssh_user="root" ansible_ssh_pass="root62"
192.168.31.63 ansible_ssh_user="root" ansible_ssh_pass="root63"
6、ssh_key.yaml内容
[root@ ssh-playbook]# cat ssh_key.yaml
--- #标识
  - hosts: ssh
    tasks:
     - name: ssh-copy
       authorized_key: user=root key="{{ lookup(‘file‘, ‘/root/.ssh/id_rsa.pub‘) }}"? state=present
7、执行剧本
[root@ ssh-playbook]# ansible-playbook -i hosts ssh_key.yaml

Ansible个人学习通过playbook实践批量免密

标签:执行   字段   etc   yaml   install   --   one   安装   for   

原文地址:https://blog.51cto.com/8355320/2496066

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!