• (二)Ansible-主机定义


    主机清单是Ansible的一个重要内容。在主机清单内,定义了Ansible需要控制的主机有哪些,以及其用户名、密码等信息,这些信息可以使得Ansible通过SSH链接到指定主机上。

    Ansible的主机清单默认写在/etc/ansible/hosts文件中,我们在调用Ansible命令的时候,需要使用-i参数来指定主机清单文件。
    Ansible的主机清单定义有两种方式,通过用户名和密码的方式或者是通过SSH密钥的方式。

    在默认情况下,/etc/ansible/hosts文件为空的,我们需要手动的在文件内添加主机清单,在配置主机清单文件时,我们需要指定主机组,使用中括号可以设置一个主机组,中括号下的主机就属于该主机组。我们在执行Ansible命令的时候,必须指定主机组名。

    1、用户+密码

    cat /etc/ansible/hosts
    该文件为默认路径,一下示例我采用的是自己配置的其他路径,可根据自己的实际情况进行配置。
    在这里插入图片描述

    • ansible_ssh_port
    • ansible_ssh_user
    • ansible_ssh_pass

    ansible -i /etc/ansible/hosts exp -m ping
1
结果如下:

    图中警告信息可忽略。我们的Ansible主机清单配置成功,Ansible正常的访问了10.10.192.21这台设备。

    2、SSH密钥

    除了上述方式之外,我们还可以基于SSH密钥来定义主机清单。
    通过在Ansible设备上生成SSH密钥,然后把密钥发送给客户端,Ansible就可以使用密钥而不是使用密码来链接客户端并进行控制了。
    Ansible设备上生成密钥命令如下:

    生成密钥
    ssh-keygen可一路回车采用默认配置即可。
    发送密钥:密钥生成后,我们还需要把密钥发送给客户端,注意,Ansible服务器给Ansible客户端发送了密钥,可以使得Ansible服务器使用密钥访问客户端。
    在这里插入图片描述
    这样,我们在定义主机清单的时候,就可以在/etc/ansible/hosts文件中,写入如下内容:在这里插入图片描述
    我们再次尝试使用Ansible控制客户端,结果同上面一样。

  • 相关阅读:
    【C++】C++中的qualified name和unqualified name
    Java学习 --- 设计模式中的UML类图
    基于Springboot实现网上商城管理系统演示【项目源码+论文说明】
    亲和性调度
    二十八、高级IO与多路转接之select
    【手写数字识别】GPU训练版本
    Java项目之石头剪刀布
    SpringMvc学习笔记
    ios- Gesture
    YOLOv8-Seg改进:多尺度空洞注意力(MSDA),增强局部、稀疏提取特征能力
  • 原文地址:https://blog.csdn.net/qq_25562325/article/details/125412291