Ansible 实例 之 【快速添加免密码认证】

第一步:将需要登陆主机得公钥添加到known_hosts


ssh-keyscan 192.168.77.129 192.168.77.130 >> /root/.ssh/known_hosts

还可以使用下列简单办法:

ssh在首次连接出现检查keys 的提示,通过设置

export ANSIBLE_HOST_KEY_CHECKING=False

这样,在执行playbook时,就跳过这些提示。

第二步:生成管理主机得私钥和公钥


ssh-keygen -t rsa -b 2048 -P '' -f /root/.ssh/id_rsa

第三步:添加主机信息到主机清单中


# hosts
[web]
192.168.77.129 ansible_ssh_pass=1234567
192.168.77.130 ansible_ssh_pass=123456

ansible_ssh_pass密码如果一样的话,这里就不需要定义了。在运行ansible-playbook时 加上-k参数,就可以输入登陆密码

第4步:配置palybook


# ssh-addkey.yml 
---
- hosts: all
  gather_facts: no

  tasks:

  - name: install ssh key
    authorized_key: user=root 
                    key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}" 
                    state=present

第五步,运行playbook


ansible-playbook -i hosts ssh-addkey.yml
Paste_Image.png

这样,管理节点的公钥就会添加到节点得authorized_keys文件中,再把主机清单里的ansible_ssh_pass去掉,执行ansible all -m ping 就不需要密码了。

更多文章请看 Ansible 专题文章总览

推荐阅读更多精彩内容

  • ansible 运维自动化工具介绍 在日常服务器维护中,从系统安装到程序部署再到发布应用,在大规模的生产环境中,如...
    bdslinux阅读 8,029评论 0 17
  • ansible 系统架构 ansible简介ansible是新出现的自动化运维工具,ansible是一个配置管理和...
    运维阿文阅读 9,097评论 1 52
  • ###### Ansible总结 ##### 运维工作: 系统安装(物理机、虚拟机)-->程序包安装、配置、服务启...
    二郎5阅读 1,752评论 0 4
  • 美酒人不醉 金樽杯莫停 羞月半遮面 坦荡男儿心 年年花有期 岁岁友相离 悠悠丝竹乐 娓娓故人音
    光影腹黑阅读 207评论 0 0
  • 这是夕阳下的mindil海滩,两个朝落日奔跑的少年。朝气、欢脱。 坐在海边,看着太阳缓缓下沉,心跳都变缓了。感受着...
    Lady_Lydia阅读 84评论 0 0
  • 老马: 见字如面,一别五日,深觉如大病一场,怏怏。祝好。甚念。 老王
    王贱贱述阅读 108评论 0 0
  • 晨起跑步,收获了美美的风景。 看似一样,却又不完全一样。 同一片云,角度不同,光线不同,看到的就会不同。 时而蓝天...
    溪南客阅读 157评论 2 4
  • 干Java快4年了,当要面试的时候这些天天用的框架,总感觉自己会,应该会说,但当面试官问起的时候,却脑子一片空白,...
    我的女友漏气了阅读 3,824评论 0 6