Linux安装与配置ansible

news2024/11/29 12:46:57

文章目录

  • Linux安装Ansible
    • 一、安装ansible
    • 二、配置管理节点和远程主机的连接
      • 使用ssh-keygen生成密钥
      • 复制SSH密钥到远程主机
      • 验证SSH配置
    • 三、主机清单配置文件
    • 四、Ansible的配置文件

Linux安装Ansible

在Linux上安装Ansible可以通过以下步骤完成:

一、安装ansible

先安装epel源再安装Ansible,因为Redhat/Centos Linux上,Ansible放在epel源里面

[root@localhost ~]# yum install -y epel-release

image-20230526120128128

[root@localhost ~]# yum install -y ansible

二、配置管理节点和远程主机的连接

就是配置管理节点远程主机SSH无密钥连接(没密码就可以连接对方的电脑)

使用ssh-keygen生成密钥

ssh-keygen是一个用于生成和管理SSH公钥/私钥对的命令行工具。它通过使用非对称加密算法来生成一对密钥,其中私钥必须保密保存,而公钥可以分发给其他人或用于身份验证。

以下是ssh-keygen命令的输出信息和其含义:

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
#  生成公钥/私钥对,使用的是RSA算法
Enter file in which to save the key (/root/.ssh/id_rsa): 
#  提示输入要保存密钥的文件名和路径,默认是/root/.ssh/id_rsa
Created directory '/root/.ssh'.
# 创建目录'/root/.ssh'用于保存密钥
Enter passphrase (empty for no passphrase): 
#  提示输入一个口令短语(可选),如果不想设置口令短语,则可以直接按回车跳过
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
# 密钥已成功生成,私钥被保存在/root/.ssh/id_rsa文件中,
# 公钥被保存在/root/.ssh/id_rsa.pub文件中
The key fingerprint is:
SHA256:ck5EKvjzvdXyOsHbs4cXgi9i4GTtEMRfDOHIyhaEf/M root@localhost.localdomain
# 显示了公钥的指纹,用于标识该公钥
The key's randomart image is:
+---[RSA 2048]----+
|   ...  ++       |
|  .o .o=  o      |
|  ..o.+.o.       |
|   o.++..        |
|    *..=S. .     |
|   . o=*E +.. .  |
|     +.+o o=.o . |
|      . +o+o= o  |
|       ....+o=   |
+----[SHA256]-----+
# 显示了密钥的随机艺术图像,用于提供一种可视化的密钥指纹表示方式

复制SSH密钥到远程主机

要将本地主机上的SSH密钥复制到远程主机上,可以使用ssh-copy-id命令。

ssh-copy-id user@remote_host
# 在上面的命令中
# user是远程主机的用户名
# remote_host是远程主机的IP地址或主机名。

当运行该命令时,系统会提示您输入远程主机的密码。

输入远程主机的密码后,ssh-copy-id命令会将本地主机的SSH公钥添加到远程主机的.ssh/authorized_keys文件中。这个文件包含了允许SSH连接到远程主机的公钥。

验证SSH配置

现在,您可以使用SSH连接到远程主机,而无需输入密码。系统会自动使用本地主机上的私钥进行身份验证,如果验证成功,则会打开SSH会话

ssh user@remote_host

三、主机清单配置文件

在Ansible中,/etc/ansible/hosts文件是默认的主机清单文件,用于定义要管理的主机列表和主机组。下面是/etc/ansible/hosts文件的配置详解:

定义主机组

在/etc/ansible/hosts中,可以通过方括号[ ]来定义主机组(主机组可以定义多个)。主机组可以是单个主机的别名,也可以包含多个主机的列表。

例如:定义个 test1主机组,其中包含两个主机:

[root@localhost ~]# vi /etc/ansible/hosts 
# 添加如下内容
[test1]
192.168.200.20
192.168.200.30

可以通过以下步骤测试/etc/ansible/hosts文件是否配置正确:

使用ansible命令测试主机连接:

ansible example -m ping
# 上面的命令将测试名为example的主机是否可以连接成功。
# 如果返回pong,则表示连接成功;
# 如果返回失败,则说明连接失败,请检查/etc/ansible/hosts文件中的主机名或IP地址是否正确

测试连接

[root@localhost ~]# ansible test1 -m ping
192.168.200.30 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.200.20 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
# 连接成功

四、Ansible的配置文件

安装tree命令树来查看ansible的组成

[root@localhost ~]# yum install -y tree
[root@localhost ~]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg   # 配置文件
├── hosts         # 主机清单配置文件
└── roles         # 角色目录

ansible.cfg

/etc/ansible/ansible.cfg 是 Ansible 的配置文件,该文件包含全局配置选项,可以用来修改 Ansible 的行为。下面是一些常用的选项:

  1. [default]:基本信息设定

  2. inventory:指定 Ansible 的主机清单文件,默认为 /etc/ansible/hosts

  3. library = /usr/share/ansible:指向存放Ansible模块的目录,支持多个目录方式,只要用冒号【:】隔开就可以

  4. remote_user:指定远程主机连接时使用的 SSH 用户名。

  5. private_key_file:指定连接远程主机时使用的 SSH 私钥文件路径。

  6. host_key_checking:指定是否检查远程主机的 SSH 主机密钥,如果设置为 False,则不检查,这在第一次连接时非常有用。

  7. sudo_user:指定在远程主机上使用 sudo 命令时使用的用户

  8. timeout:指定连接远程主机的超时时间,单位为秒

  9. log_path:指定 Ansible 日志文件的路径。

除了以上常用选项,/etc/ansible/ansible.cfg 还包含许多其他选项,可以根据需要进行修改。
需要注意的是,/etc/ansible/ansible.cfg 是全局配置文件,会影响所有的 Ansible 操作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

npm更换成淘宝镜像源及cnpm使用

1.需求由来 由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常。所以如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队(阿里巴巴旗下业务阿里云)干了这事。来自官网:“这是一…

Python常见错误(Error)一览大全——初学者必看

路漫漫其修远兮,学习python任重而道远,对于初学者来说,最难受的就是报错,其次是错误翻译好了,可是又不会改了,那么今天,我已IKUN老师的身份,结合我们常见的错误,做一个常…

堆排序之——TopK问题

思维导图: 一,TopK算法的运用 TopK的算法在我们的日常生活中可谓是大有用处,比如你在点外卖时外卖榜单上的销量前几名的筛选,富豪排行榜的榜单人物的筛选,游戏排位……等等领域都会有TopK算法的涉及。TopK问题的用处可…

javaWeb ssh旅游景点网站系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh旅游景点网站系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

类型转换-Java 如何计算两个时间的差

一、背景: 今天一个小伙伴在开发中,常取不到数,像string转换int,int转换string 虽然好像只是倒过来了,但是实现的逻辑不一样,今天就是日期在计算过程中的转换做一个总结 二、步聚 1.JAVA中与日期时间相关的类 1.1j…

聚合函数(基础版)

QUESTION ONE: # Write your MySQL query statement below select id,movie,description,rating from cinema where description <> boring and mod(id,2) 1 order by rating desc很简单的两个条件&#xff0c;一个通过 <> 解决不等于的情况&#xff0c;而确定奇…

java基础知识一

1、Java语言概述 1、java的出现标志着真正的分布式系统的到来 2、Java与c的区别 2.1、全局变量 Java中没有全局变量&#xff0c;使用类中的公共的静态变量作为这个类的全局变量 2.2、指针 Java中没有任何在指针操作 2.3、条件转移指令 Java中没有goto语句&#xff0c;通…

【day 01】初始vue

Vue的相关背景&#xff1a; vue2 > vue3 >vue实战 vue Taylor otwell (程序员中的网红) 框架 库 &#xff08;功能 方法&#xff09;axios 框架 生态 引入第三方功能库 社区 Vue2 Vue3 需要准备的小工具 vscode : snipper Vetur 浏览器需要准备 Vue Devtools Vue 引入方式…

nvm版本控制工具安装及使用

一、nvm介绍 nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 二、nvm下载安装及使用 2.1 nvm下载 安装包…

【C++】容器篇(三)—— stack的基本介绍及其模拟实现

前言&#xff1a; 在之前的学习中我们已经了解了 vector 和 list &#xff0c;今天我将带领学习的是关于STL库中的 stack的学习&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;基本介绍 1、基本概念 2、容器适配器 &#xff08;二&#xff09;基本使…

Flutter 笔记 | Flutter 功能性组件

拦截返回键&#xff08;WillPopScope&#xff09; 为了避免用户误触返回按钮而导致 App 退出&#xff0c;在很多 App 中都拦截了用户点击返回键的按钮&#xff0c;然后进行一些防误触判断&#xff0c;比如当用户在某一个时间段内点击两次时&#xff0c;才会认为用户是要退出&a…

docker 服务环境搭建(mysql、rabbitmq、redis、nginx、springboot)

一般来说一个项目&#xff0c;百分之80都会用到以上这些&#xff0c;尤其是产品初期的demo 这些我都写过博客&#xff0c;但是我每次要去安装&#xff0c;都要去我不同的博客里面翻找&#xff0c;很烦&#xff0c;把他们聚在一起&#xff0c;方便我以后cv&#xff0c;就是这篇博…

注意力Transformer

注意力 注意力分为两步&#xff1a; 计算注意力分布 α \alpha α 其实就是&#xff0c;打分函数进行打分&#xff0c;然后softmax进行归一化 根据 α \alpha α来计算输入信息的加权平均&#xff08;软注意力&#xff09; 其选择的信息是所有输入向量在注意力下的分布 打…

基于中序有序的二叉搜索树

文章目录 什么是二叉搜索树二叉搜索树的中序遍历二叉搜索树的查找查找的非递归写法查找的递归写法 二叉搜索树的插入非递归递归 二叉搜索树的删除非递归递归 二叉搜索树的使用场景k模型kv模型 什么是二叉搜索树 二叉搜索树是普通二叉树的升级&#xff0c;普通二叉树除了存储数…

3、js - 垃圾回收机制

1、基础概念 &#xff08;1&#xff09;js内存的生命周期 -1- 内存分配&#xff1a;当声明变量、函数、对象时&#xff0c;系统会自动分配内存给它们 -2- 内存使用&#xff1a;即读写内存&#xff0c;也就是使用变量、函数 -3- 内存回收&#xff1a;使用完毕&#xff0c;由垃圾…

时间跟踪工具:Timemator Mac汉化版

Timemator是一款Mac平台上的时间跟踪工具&#xff0c;它可以帮助用户记录和分析日常工作和任务所花费的时间。Timemator提供了多种时间跟踪功能&#xff0c;包括自动跟踪应用程序和文档、手动添加时间记录、设置定时器等&#xff0c;让用户可以轻松记录和管理时间。 活动时间表…

互联网及SaaS行业如何落地体验管理?

3月25日&#xff0c;「体验家XMPlus」携手PMTalk成功举办了以“2023用户体验新趋势与数据增长实践”为主题的线下沙龙。 在本次活动中&#xff0c;有100多位来自不同企业的产品经理前来参与&#xff0c;大家聚集一起互相交流、分享经验。“体验家”的产品总监李若晨先生也进行了…

[RSA议题分析] Aikido Turning EDRs to malicious wipers using 0-day exploits

文章目录 简介议题分析wiperEDRWindows of Opportunity 总结 简介 本篇议题是由SafeBreach实验室的Or Yair带来的&#xff0c;主要通过利用EDR的删除恶意软件的能力和windows软连接与延迟删除文件的能力去制造一个可以在普通户权限下删除任意文件的恶意软件 - Aikido。这本质上…

科技云报道:汽车云,云计算换挡后的下一个“赛点”?

科技云报道原创。 从去年开始&#xff0c;汽车云似乎成为了云计算赛道的“香饽饽”。 尤其是在下半年&#xff0c;无论是阿里、腾讯、华为三大云巨头&#xff0c;还是百度云、京东云、字节云等奋力争夺“第四朵云”的玩家&#xff0c;均已各种形式“刷新”了其汽车云战略。玩…

Revit中窗族的立面出图设置和构件显隐

​  一、窗族的立面出图设置 Revit中&#xff0c;除了平面的出图设置以外还有立面的出图设置。 例如&#xff1a;如何在立面中&#xff0c;使窗户在精细详细程度显示的是窗的全部主体结构而在粗略/中等详细程度下是显示这样的样式呢? 在窗族样板中&#xff0c;打开立面&…