【问题标题】:Distributing different SSH keys to different hosts in one inventory将不同的 SSH 密钥分配给一个清单中的不同主机
【发布时间】:2019-08-28 06:45:17
【问题描述】:

我有一个包含多个主机的清单。我想通过 Ansible 分发 SSH 密钥的公共部分。每个主机都有自己的密钥。到目前为止,我找到了可以完成一般工作的module authorized_keys。但是我无法弄清楚如何分配不同的密钥。

我的.ssh 目录是这样的:

ls .ssh
hostA hostA.pub
hostB hostB.pub
hostC hostC.pub

对于一个主机,我可以写:

- name: Set authorized key taken from file
  authorized_key:
    user: joeuser
    state: present
    key: "{{ lookup('file', '/home/joeuser/.ssh/hostA.pub') }}"

但是我怎样才能为不同的主机做到这一点呢?

【问题讨论】:

    标签: ansible ssh-keys ansible-2.x


    【解决方案1】:

    如果每个密钥都以主机名命名,正如您的问题所建议的那样,您可以这样做:

    - name: Set authorized key taken from file
      authorized_key:
        user: joeuser
        state: present
        key: "{{ lookup('file', '/home/joeuser/.ssh/{}.pub'.format(inventory_hostname)) }}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      相关资源
      最近更新 更多