ansible基础操作

21 篇文章 0 订阅

1、批量分发密钥
(1)配置 host
[test1]
10.142.131.159 ansible_user=username ansible_ssh_pass=password
(2)创建playbook
vim ssh.yml

---
- hosts: test1
  remote_user: admin
  tasks:
    - name: ssh-copy
      authorized_key:
        user: admin
        key: "{{lookup('file','~/.ssh/id_rsa.pub')}}"
        state: present
        exclusive: yes
~                          

验证
在这里插入图片描述安装文件并启动服务
vim install_exporter

---
- hosts: test1
  tasks:
    - name: 分发exporter安装文件
      copy: src=/etc/ansible/roles/install_exporter/files/node_exporter.tar.gz dest=/home/admin/
    - name: 解压tar
      raw: "{{ item }}"
      with_items:
      - "tar -xf /home/admin/node_exporter.tar.gz  -C /home/admin/"
    - name: run this command and ignore the result
      shell: cd /home/admin/node_exporter-0.17.0.linux-amd64/&& nohup ./node_exporter &

验证ok

问题总结:

10.142.239.36 | FAILED! => {
    "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host's fingerprint to your known_hosts file to manage this host."
}

``3.原因和解决办法:
ssh第一次连接的时候一般会提示输入yes 进行确认为将key字符串加入到 ~/.ssh/known_hosts 文件中。而本机的~/.ssh/known_hosts文件中并有fingerprint key串
解决方法:在ansible.cfg文件中更改下面的参数:
#host_key_checking = False 将#号去掉即可`

报错:

FAILED! => {“msg”: “An unhandled exception occurred while running the lookup plugin ‘file’. Error was a <class ‘ansible.errors.AnsibleError’>, original message: could not locate file in lookup: ~/.ssh/id_rsa.pub”}


ssh-keygen  -t  rsa//生成公钥和密钥,一路enter
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值