【问题标题】:How is ansible machine[Master] authenticated?ansible machine[Master]是如何认证的?
【发布时间】:2020-01-07 16:28:01
【问题描述】:

我正在学习 ansible,我尝试在 4-5 台服务器上使用 ansible。我正在手动将公钥复制到机器上。

  • 我想知道如果我们必须这样做 1000 会是什么情况 服务器数量?

我们是否应该做同样的事情,向其他团队提供 SSH 公钥并要求他们将其添加到他们的机器上?有没有其他选择?业内人士如何应对?

TIA

【问题讨论】:

  • 这个问题有点宽泛,而且基于很多意见,但在工作场所我在帐户中使用了 ansible(包括自动化用户的公钥)是构建过程的一部分。在引入 ansible 时预先存在的机器在事后通过手动创建帐户并添加其密钥而被引入羊群。如果您已经在使用任何其他系统(saltstack、puppet、...),您可以使用它来部署 ansible 用户。
  • 那么,我们是否要求各自的团队创建一个特定于 ansible 的用户帐户,从而运行 playbook?
  • 不要询问特定团队,请您的操作员(可能是您)将此帐户与您的公钥和升级权限添加到他们部署的每台机器上。

标签: linux ssh ansible devops


【解决方案1】:

不,如果您要管理大量服务器,那么将 SSH 密钥配置到每台服务器中并不是一个好方法。如果我们谈论的是云上的服务器,它本质上是高度动态的,即它们在需要时启动/终止。

您始终可以在 Ansible 主配置上配置用于 SSH 连接的“远程用户”。 除此之外,您可以在任何地方配置用户剧本或角色或作为命令行参数传递。

连接远程服务器,使用 SSH 密钥,可以使用相同的方法。

例如:从命令行:

ansible-playbook <playbook yml> -u <user name on remote host> --key-file <SSH key file name with path on master host>

ansible-playbook abc.yml -u "user1" --key-file "/u01/ansible_keys/user1_key.pem"

您也可以在库存文件中设置这些键,如下所示:

myHost ansible_ssh_private_key_file=~/.ssh/mykey1.pem
myOtherHost ansible_ssh_private_key_file=~/.ssh/mykey2.pem

参考:Specifying ssh key in ansible playbook file

【讨论】:

    【解决方案2】:

    1.如果所有机器密码相同。

    ansible -i <inventory_file> -m copy -a "src=<public_key_filepath> dest=<target_filepath> -k"
    

    输入密码复制Public-key到所有机器,和以前一样使用ansible

    2.如果大部分机器密码相同。您可以在库存中执行此操作。

    [groupA]
    machine01
    machine02
    
    [groupB]
    machine03
    machine04 ansible_ssh_pass=<different password from others>
    
    [all:vars]
    ansible_ssh_user=<ssh_useranme>
    ansible_ssh_pass=<machine password>
    

    然后(不需要输入密码)

    ansible -i <inventory_file> -m copy -a "src=<public_key_filepath> dest=<target_filepath>"
    

    然后删除库存文件中的密码,和以前一样使用ansible

    就我自己而言,我更喜欢方法2,因为我有所有机器的root密码,没有人可以用root帐户登录机器。所以我在根目录中写明文密码。但是我认为你的公钥方法可能更安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 2011-06-06
      • 2018-09-03
      • 2020-04-22
      • 2016-06-20
      相关资源
      最近更新 更多