美文网首页
自动化运维 ansible 安装及免密配置

自动化运维 ansible 安装及免密配置

作者: WeekDiffculty | 来源:发表于2023-07-29 11:04 被阅读0次

管理机

1、选择yum自动化安装,阿里云epel源,提前配置好

yum install epe-release -y

yum install ansible libselinux-python -y

2、检查 assible软件安装情况,查询配置文件,和可执行命令
[root@localhost conf]# rpm -ql ansible | grep -E '/etc|/usr/bin'

rpm -ql ansible | grep -E '^/etc|^/usr/bin'

3、检查ansible版本

ansible --version

再准备ansible 被管理机器

安装ansible所需要的系统模块

yum install peel-release libselinux-python -y 

ansible 管理方式

ansible批量管理机器的方式主要有两种

  • 传统的ssh密码验证
  • 密钥管理
配置好aisle的配置文件,添加被管理的机器ip地址,或者主机名
1、备份现有的配置文件
cp /etc/ansible/hosts{,.ori}
同上面的命令
2、添加管理的机器ip
vim /etc/ansible/hosts
[fengge]
192.168.101.67
192.168.101.68

SSH 密码认证方式管理

ansible是直接利用Linux本地ssh服务,以及一些远程的操作,一般情况客户端ssh默认开启

1、在管理机执行如下命令
-m 指定功能模块,默认command模块
-a 告诉模块需要执行的参数
-k 询问密码验证
-u 指定运行的用户
在管理机上,告诉其他别管理机器,你要执行什么命令,以及用什么用户去执行
ansible fengge -m command -a "hostname" -k -u root

2、执行完通常报错,需要手动ssh进行一次连接

3、再次执行 

配置免密登陆

ansible自带的密码认证参数

可以在/etc/ansible/hosts 文件中定义好密码即可实现快速认证,远程管理主机

参数
ansible_host   主机地址
ansible_port    端口,默认22
ansible_user    认证的用户
ansible_ssh_pass    用户认证的密码
使用修改hosts文件实现认证
[fengge]
192.168.101.66 ansible_user=root ansible_ssh_pass=123456
192.168.101.67 ansible_user=root ansible_ssh_pass=123456
192.168.101.68 ansible_user=root ansible_ssh_pass=123456
[root@localhost ansible]# ansible fengge -m command -a "hostname"
192.168.101.67 | CHANGED | rc=0 >>
localhost.localdomain
192.168.101.68 | CHANGED | rc=0 >>
localhost.localdomain
192.168.101.66 | CHANGED | rc=0 >>
localhost.localdomain

SSH密钥方式批量管理机器

1、在管理机上创建ssh密钥对

[root@localhost ~]# ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>%1

2、此时检查私钥文件

[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

编写公钥分发脚本

#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
SSH_Pass=123456
Key_Path=~/.ssh/id_rsa.pub
for ip in 66 67 68
do
        sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.101.$ip
done
# 非交互式分发公钥需要用sshpass指定ssh密码,通过-o StrictHostKeyChecking=no 跳过SSH链接确认信息

sh ssh_key_send 执行脚本

ansible fengge -m command -a "uname -a"

此时在管理机上再链接客户机就不需要密码了,

总结

在生产环境中,ansible的链接方式,二选一即可,最好是配置ssh公私钥密码登录

相关文章

  • 01 Ansible 基础

    第2天-自动化运维利器Ansible基础 一 、Ansible 介绍及安装 1. 介绍 2. 工作原理 1、在AN...

  • ansible自动化运维详细教程及playbook详解

    ansible playbook yaml 自动化运维 前言 当下有许多的运维自动化工具( 配置管理 ),例如:A...

  • ansible基础

    ansible 系统架构 ansible简介ansible是新出现的自动化运维工具,ansible是一个配置管理和...

  • 利用Ansible 批量推送公钥

    前言 利用ansible 自动化运维工具实现批量推送公钥。 1、安装Ansible服务端 yum安装 查看安装版本...

  • CentOS7 Ansible自动化运维

    企业级自动化运维神器Ansible 一、介绍 1.自动化运维工具对比 2.ansible简介 ansible是新出...

  • 24-运维自动化之ANSIBLE

    本章内容 ◆ 运维自动化发展历程及技术应用◆ Ansible命令使用◆ Ansible常用模块详解◆ YAML语法...

  • Ansible服务端安装与配置(学习笔记一)

    1、ansible是自动化运维工具,基于Python开发,实现批量部署、配置、运行等。 2、ansible基于SS...

  • absible原理及基础应用

    一、ansible的作用及工作结构 1、ansible简介:ansible是新出现的自动化运维工具,基于Pytho...

  • Asible了解,配置,部署

    一、ansible 简介 1、ansible 是什么?ansible是目前最受运维欢迎的自动化运维工具,基于Pyt...

  • 06Ansible服务

    第一章 Ansible介绍 0.手工运维与自动化运维 1.手动运维时代 2.自动化运维 1.什么是Ansible ...

网友评论

      本文标题:自动化运维 ansible 安装及免密配置

      本文链接:https://www.haomeiwen.com/subject/ceixpdtx.html