Ansible自动化运维--1--ansible设置控制节点到所有子节点的批量免密登录

简介: 管理节点control到所有node节点设置密钥对免密登录,告别ssh-copy-id

1、测试环境

centos7.9 阿里云ECS

IP地址 角色
10.0.0.235 control
10.0.0.236 node1
10.0.0.237 node2

ansible版本

[root@ceshi ~]# ansible --versionansible 2.9.27  config file = /etc/ansible/ansible.cfg  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']  ansible python module location = /usr/lib/python2.7/site-packages/ansible  executable location = /usr/bin/ansible  python version = 2.7.5 (default, Jun 28 2022, 15:30:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]

2、操作步骤

2.1 设置hosts

[root@ceshi ~]# cat /etc/ansible/hosts |grep -v "#" |grep -v "^$"[test]10.0.0.[236:237] ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=password

注意:

1、这里直接在hosts文件里边指定了账号、密码、端口,也可以在环境变量里边指定2、如果是使用多台主机且IP连续,可以使用上述方式进行设置,比如:10.0.0.[1:255]表示10.0.0.1-10.0.0.255这个段的地址  10.0.[1:255].[1:255] 表示10.0.1-255.1-255这个地址段

2.2 在crontrol生成公钥和私钥

[root@ceshi ~]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

/root/.ssh/id_rsa already exists.

Overwrite (y/n)?

输入命令,一路回车

2.3 编写yaml文件

[root@ceshi ~]# cat add_key.yml

---

- name: add key

 hosts: all

 tasks:

   - name: key

     authorized_key:

       user: root

       key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"

       state: present

     

注意:yml文件可以在任意路径

2.4 运行playbook

[root@ceshi ~]# ansible-playbook add_key.yml

PLAY [add key] *********************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************

ok: [10.0.0.236]

ok: [10.0.0.237]

TASK [key] *************************************************************************************************************************************************************

ok: [10.0.0.236]

ok: [10.0.0.237]

PLAY RECAP *************************************************************************************************************************************************************

10.0.0.236                 : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

10.0.0.237                 : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

2.5 取消hosts文件里边关于端口、密码的设置

[root@ceshi ~]# cat /etc/ansible/hosts |grep -v "#" |grep -v "^$"

[test]

10.0.0.[236:237]

2.6 验证测试

[root@ceshi ~]# ansible all -m shell  -a "ip -4 a |grep inet"

10.0.0.237 | CHANGED | rc=0 >>

   inet 127.0.0.1/8 scope host lo

   inet 10.0.0.237/24 brd 10.0.0.255 scope global dynamic eth0

10.0.0.236 | CHANGED | rc=0 >>

   inet 127.0.0.1/8 scope host lo

   inet 10.0.0.236/24 brd 10.0.0.255 scope global dynamic eth0

如果是可以正常输出IP地址,表示免密设置成功

相关文章
|
8天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
4天前
|
运维 应用服务中间件 Linux
自动化运维的利器:Ansible在配置管理中的应用
【10月更文挑战第39天】本文旨在通过深入浅出的方式,向读者展示如何利用Ansible这一强大的自动化工具来优化日常的运维工作。我们将从基础概念讲起,逐步深入到实战操作,不仅涵盖Ansible的核心功能,还会分享一些高级技巧和最佳实践。无论你是初学者还是有经验的运维人员,这篇文章都会为你提供有价值的信息,帮助你提升工作效率。
|
7天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
27 4
|
4天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
5天前
|
运维 安全 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【10月更文挑战第37天】本文将深入探讨如何利用Ansible简化和自动化复杂的IT基础设施管理任务。我们将通过实际案例,展示如何用Ansible编写可重用的配置代码,以及这些代码如何帮助运维团队提高效率和减少人为错误。文章还将讨论如何构建Ansible playbook来自动部署应用、管理系统更新和执行常规维护任务。准备好深入了解这个强大的工具,让你的运维工作更加轻松吧!
21 2
|
6天前
|
运维 Devops 应用服务中间件
自动化运维的利器:Ansible实战指南
【10月更文挑战第36天】在快速迭代的数字时代,自动化运维成为提升效率、减少错误的关键。Ansible以其简洁性、易用性和强大的功能脱颖而出。本文将带你了解Ansible的核心组件,通过实际案例深入其应用,并探讨如何结合最佳实践优化你的自动化工作流程。无论你是新手还是有经验的运维人员,本指南都将为你提供宝贵的知识和技能。
|
6天前
|
运维 应用服务中间件 Linux
自动化运维:使用Ansible进行批量配置管理
【10月更文挑战第36天】在现代的IT基础设施中,高效和可靠的系统管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具来简化运维任务,包括安装、配置、部署应用程序以及管理系统更新。我们将探讨Ansible的核心概念,并通过实际代码示例展示其应用。通过阅读本文,读者将获得使用Ansible改善日常运维工作流程的实用知识。
|
14天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
39 4
|
11天前
|
运维 负载均衡 Ubuntu
自动化运维的利器:Ansible入门与实践
【10月更文挑战第31天】在当今快速发展的信息技术时代,高效的运维管理成为企业稳定运行的关键。本文将引导读者了解自动化运维工具Ansible的基础概念、安装步骤、基本使用,以及如何通过实际案例掌握其核心功能,从而提升工作效率和系统稳定性。
|
20天前
|
缓存 运维 应用服务中间件
自动化运维的新篇章:使用Ansible进行配置管理
【10月更文挑战第23天】随着云计算和微服务架构的兴起,传统的手动运维方式已经无法满足现代IT基础设施的需求。自动化运维成为提升效率、减少错误的关键。本文将介绍如何使用Ansible,一个流行的开源自动化工具,来简化配置管理和部署流程。我们将从基础概念出发,逐步深入到实战应用,展示如何通过编写Playbook来实现服务器的自动化配置和管理。