• (二)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控制客户端,结果同上面一样。

  • 相关阅读:
    PHP + Laravel + RabbitMQ + Redis 实现消息队列 (五) 异常处理(死信)、延时队列与优先队列
    windows和Linux下mongocxx编译及使用说明
    教你几招,轻松实现视频转音频
    java从键盘输入Scanner
    App自动化测试持续集成效率提高50%
    进度条程序的编写
    面经:中国人民银行金融科技研究院
    学习C++第一课
    代码随想录算法训练营day60|84.柱状图中最大的矩形 |完结撒花~
    上周热点回顾(4.22-4.28)
  • 原文地址:https://blog.csdn.net/qq_25562325/article/details/125412291