Ansible批量配置服务器免密登录步骤详解

一、准备工作

192.168.85.138 安装ansible,计划配置到139的免密

192.168.85.139 待配置免密

1. 生成SSH密钥对

        在Ansible控制节点生成密钥对,用于后续免密认证:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

全部回车默认,无需设置密码

2. 配置Ansible环境

        关闭Host Key检查:修改`/etc/ansible/ansible.cfg` 文件,避免首次连接提示确认:

 [defaults]host_key_checking = False

3,配置Hosts文件

        在/etc/ansible/hosts中定义目标主机及连接参数:

[web_servers]
192.168.85.139 ansible_ssh_user=root ansible_ssh_pass=123456

ansible_ssh_pass=123456: 这个123456就是139的root的登录密码,按需配置即可

4,写一个免密用的yml文件,ssh_key.yml:

- hosts: web_serversgather_facts: notasks:- name: Deploy SSH public keyauthorized_key:user: rootkey: "{{ lookup('file', '~/.ssh/id_rsa.pub')  }}"state: present

5,执行这个文件:

ansible-playbook  ssh_key.yml

6,检查是否配置成功:

ansible web_servers -m ping



如果看到上诉内容即为免密配置成功。

7,为多用户配置免密:

- hosts: allvars:users:- name: adminkey: "{{ lookup('file', '~/.ssh/admin.pub')  }}"- name: deploykey: "{{ lookup('file', '~/.ssh/deploy.pub')  }}"tasks:- name: Add SSH keys for multiple usersauthorized_key:user: "{{ item.name  }}"key: "{{ item.key  }}"loop: "{{ users }}"

8,Ansible指定hosts文件

Ansible通过**主机清单(Inventory)**管理目标服务器,其默认路径为/etc/ansible/hosts。但在实际应用中,常需根据项目需求指定不同的hosts文件。以下是2种常用方法及具体操作示例:

    1、通过命令行参数-i即时指定(推荐)

        适用场景:临时使用特定主机清单文件,灵活性最高。
        操作方法:在ansibleansible-playbook命令中通过-i参数指定路径。 bashbash

        单文件指定:

        ansible all -i /path/custom_hosts -m ping

        目录指定:(自动合并目录下所有文件)

        ansible-playbook -i inventory/prod/ playbook.yml

    2,通过ansible.cfg 配置文件指定(改了之后就永久生效了)

        在ansible.cfg 配置文件中,通过inventory参数指定hosts文件路径。ansible.cfg 文件路径查找顺序为:

  1. 环境变量ANSIBLE_CONFIG指向的配置文件。例如,执行export ANSIBLE_CONFIG=/PATH./ansible.cfg ,则优先使用该路径下的ansible.cfg 。

  2. 当前目录下的ansible.cfg 配置文件。

  3. 当前用户home目录下的.ansible.cfg 配置文件。

  4. 用软件包管理工具安装Ansible时自动生成的配置文件/etc/ansible/ansible.cfg 。

ansible.cfg 文件中设置inventory参数示例:

[defaults] 
inventory = /path/to/your/hosts_file 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17484.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第99天

仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板:制作一些光场(Light Field) 当前的目标是为游戏添加光照系统,并已完成了法线映射(normal maps)的管道,但还没有创建可以供这些正常映射采样的光场。为了继续推进&…

纪念日倒数日项目的实现-【纪念时刻-时光集】

纪念日/倒数日项目的实现## 一个练手的小项目,uniappnodemysql七牛云。 在如今快节奏的生活里,大家都忙忙碌碌,那些具有特殊意义的日子一不小心就容易被遗忘。今天,想给各位分享一个“纪念日”项目。 【纪念时刻-时光集】 一…

yanshee机器人初次使用说明(备注)-PyCharm

准备 需要: 1,(优必选)yanshee机器人Yanshee 开发者说明 2,手机-联网简单操控 / HDMI线与显示器和键鼠标-图形化开发环境 / 笔记本(VNC-内置图形化开发环境/PyCharm等平台)。 3,P…

webshell通信流量分析

环境安装 Apatche2 php sudo apt install apache2 -y sudo apt install php libapache2-mod-php php-mysql -y echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php sudo ufw allow Apache Full 如果成功访问info.php&#xff0c;则环境安…

uniapp - iconfont下载本地并且运用至项目上

1、项目中创建一个文件夹放置iconfont相关文件&#xff0c;例如src/assets/iconfont&#xff08;名称自己定义&#xff09; 2、在iconfont下载项目至本地 3、解压后把文件复制进1的文件夹中 4、修改src/assets/iconfont - iconfont.css里的font-face的src地址&#xff0c;修…

黑马Redis详细笔记(实战篇---短信登录)

目录 一.短信登录 1.1 导入项目 1.2 Session 实现短信登录 1.3 集群的 Session 共享问题 1.4 基于 Redis 实现共享 Session 登录 一.短信登录 1.1 导入项目 数据库准备 -- 创建用户表 CREATE TABLE user (id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 用户ID,phone …

企业级高并发全链路优化:流量分发、边缘防护与服务治理的整合之道

文章目录 第一章&#xff1a;引入概览1.1 高并发时代的业务挑战与背景1.2 全链路思维在高并发架构中的必要性1.3 解决方案总览&#xff1a;技术演进与混合架构模式 第二章&#xff1a;流量分发与边缘网络2.1 DNS 解析与全球流量调度2.2 LVS 与 Nginx 集群&#xff1a;流量负载均…

Mysql中使用sql语句生成雪花算法Id

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

react传递函数与回调函数原理

为什么 React 允许直接传递函数&#xff1f; 回调函数核心逻辑 例子&#xff1a;父组件控制 Modal 的显示与隐藏 // 父组件 (ParentComponent.tsx) import React, { useState } from react; import { Modal, Button } from antd; import ModalContent from ./ModalContent;co…

DeepSeek、Kimi、文心一言、通义千问:AI 大语言模型的对比分析

在人工智能领域&#xff0c;DeepSeek、Kimi、文心一言和通义千问作为国内领先的 AI 大语言模型&#xff0c;各自展现出了独特的特点和优势。本文将从技术基础、应用场景、用户体验和价格与性价比等方面对这四个模型进行对比分析&#xff0c;帮助您更好地了解它们的特点和优势。…

国际主流架构框架整理【表格版】简介、适用场景、优缺点、中文名、英名全称,附TOGAF认证介绍

国际主流架构框架表格 国际主流架构框架架构框架英名全称中文名简介适用场景优缺点TOGAFThe Open Group Architecture Framework开放工作组体系结构框架是由The Open Group组织开发的一种企业架构框架&#xff0c;它提供了一套方法论、工具和术语&#xff0c;用于帮助组织设计…

缓存三大问题及其解决方案

缓存三大问题及其解决方案 1. 前言 ​ 在现代系统架构中&#xff0c;缓存与数据库的结合使用是一种经典的设计模式。为了确保缓存中的数据与数据库中的数据保持一致&#xff0c;通常会给缓存数据设置一个过期时间。当系统接收到用户请求时&#xff0c;首先会访问缓存。如果缓…

微信小程序自定义tabbar,跳转tabbar后页面加载路径不正确

我设置小程序自定义tabbar是两种角色&#xff0c;分两个菜单。 我需要在tabbar每一个菜单的页面onshow中都调用这个init方法&#xff0c;但是我在onshow有其他if判断&#xff0c;如果是出现错误后&#xff0c;init方法就不能执行&#xff0c;需要提前到最前面。

小程序canvas2d实现横版全屏和竖版逐字的签名组件(字帖式米字格签名组件)

文章标题 01 功能说明02 效果预览2.1 横版2.2 竖版 03 使用方式04 横向签名组件源码4.1 html 代码4.2 业务 Js4.3 样式 Css 05 竖向签名组件源码5.1 布局 Html5.2 业务 Js5.3 样式 Css 01 功能说明 技术栈&#xff1a;uniapp、vue、canvas 2d 需求&#xff1a; 实现横版的全…

stm32 lwip tcp服务端频繁接收连接失效问题解决(tcp_recved)

一、问题描述 最近用stmf429单片机作为TCP服务端遇到一个问题&#xff0c;就是客户端特别频繁的发送消息&#xff0c;过一段时间以后&#xff0c;客户端的请求不再被客户端接收到&#xff0c;而且服务器端监控的掉线回调函数也不会被调用&#xff0c;好像这个连接就凭空的消失…

让 DeepSeek R1 锐评一下自己

让 DeepSeek R1 锐评一下自己 1. 技术领域覆盖广泛&#xff0c;内容实用性突出2. 内容系统性强&#xff0c;适合阶段性学习3. 持续更新与技术敏锐度4. 潜在改进方向总结 突发奇想&#xff0c;让 AI 锐评一下自己~ Gorit 是一名活跃于技术领域的 CSDN 博主&#xff0c;其内容主…

19.4.9 数据库方式操作Excel

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 本节所说的操作Excel操作是讲如何把Excel作为数据库来操作。 通过COM来操作Excel操作&#xff0c;请参看第21.2节 在第19.3.4节【…

Android原生的HighCPU使用率查杀机制

摘要 原生的HighCPU使用率查杀机制是基于读取/proc/pid/stat中的utime stime后&#xff0c;根据CPU使用率 (utime stime / totalTime)*100%进行实现&#xff0c;当检测后台进程的CPU使用率超过阈值时&#xff0c;执行查杀和统计到电池数据中。 细节点&#xff1a; 1. 原生根…

Linux学习笔记之进程

进程 进程的定义 进程是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源分配的基本单位&#xff0c;也是操作系统结构的基础。   例如当QQ程序运行的时候&#xff0c;计算机会先从磁盘读取QQ程序到内存&#xff0c;然后OS管理这个程序&#xff0c;…

深入理解 MyBatis 框架的核心对象:SqlSession

Mybatis框架中的SqlSession对象详解 引言 MyBatis 是一个优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息&#xff0…