• ansible的安装和密钥下发


    ansible集合了众多优秀运维工具(Puppet、Cfengine、Chef、Func、Fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

    从功能上ansible可以实现以下目标:

    • 应用代码自动化部署
    • 系统管理配置文件自动化
    • 支持持续交付自动化
    • 支持云平台、大数据平台(如AWS,OpenStack)
    • 轻量级、无需客户端安装agent,更新时只需要在客户机进行一次更新即可
    • 批量任务执行可以写成脚本,不用分发到远程就可以执行
    • 使用python编写,维护更方便,Ruby语法过于复杂
    • 支持非root操作,支持sudo

    一、安装ansible

    系统环境

    cat /etc/redhat-release
    
    CentOS Linux release 7.4.1708 (Core)

    软件版本

    ansible-2.5.3-1.el7.noarch 

     ansible一般在epel源中提供,首先配置epel源(base yum仓库默认没有ansible源码)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    清除yum缓存

    yum clean all
    yum makecache

    yum方式安装ansible

    yum install ansible

     查看版本

    ansible --version

    二、然后更改配置,/etc/ansible/ansible.cfg,将里面的host_key_checking = False前的#去掉,ssh在首次连接出现检查keys 的提示,通过设置,不会有这些提示

    # 要不修改ansible.cfg配置文件的ask_pass = True给取消注释

    三、.去设置hosts文件,在最后加入以下配置,10.139.11.118是要远程的服务器IPansible_ssh_user登录服务器的用户,ansible_ssh_pass登录服务器的密码

     

    [test]
    10.139.11.118 ansible_ssh_user=root ansible_ssh_pass='wddx@2018'
    10.139.11.119 ansible_ssh_user=root ansible_ssh_pass='1qaz!QAZ'

     

    四、测试ansible是否可用

    ansible test -m command -a 'uptime'

    五、生成公钥/私钥

    ssh-keygen        # 生成秘钥

     # 一路enter

    六、下发公钥、私钥

    一个一个下发

    ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.127.7.77   # 将公钥写入被管理机

    机器多的情况下,使用ssh-copy-id方法有些费时,使用ansible-playbook推送ymal

    新建push.ssh.ymal文件,将下面内容写入

    # Using alternate directory locations:
    
      - hosts: test
    
        user: root
    
        tasks:
    
         - name: ssh-copy
    
           authorized_key: user=root key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
    
           tags:
    
             - sshkey

    执行推送命令

    ansible-playbook push.ssh.ymal
    #输入root密码

    测试是否下发成功

    ssh root@10.127.7.77如果成功进入出现【root@web1】#则说明成功
    #查看各机器时间
    
    ansible all -a date
    
    #ansible all -m command -a date # 作用同上
    
    #ping
    
    ansible all -m ping
     # 切换root
    
    ansible webservers -m ping -u ansible -sudo

     

    我想,抬头暖阳春草,你给我简单拥抱 我想,踩碎了迷茫走过时光,睁开眼你就会听到
  • 相关阅读:
    20174303刘金晖 Exp 8 Web基础
    2019-2020-2 网络对抗技术 20174303刘金晖 Exp7 网络欺诈防范
    20174303刘金晖 Exp6 MSF基础应用
    20174303刘金晖 Exp5 信息搜集与漏洞扫描
    20174303刘金晖 Exp4 恶意代码分析
    2019-2020-2 20174303刘金晖 Exp3 免杀原理与实践
    2019-2020-2 20174303刘金晖 Exp2 后门原理与实践
    2019-2020-2 20174303刘金晖 Exp1 PC平台逆向破解
    20174307周俊锴《网络对抗技术》Exp9 Web安全基础
    20174307周俊锴Exp8 Web基础
  • 原文地址:https://www.cnblogs.com/selectztl/p/9590015.html
Copyright © 2020-2023  润新知