Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible 动态可解析SSH密钥管理_Ansible - Fatal编程技术网

Ansible 动态可解析SSH密钥管理

Ansible 动态可解析SSH密钥管理,ansible,Ansible,我正在创建一个ansible角色来动态管理用户SSH密钥。一般的想法是让它读取该目录中的所有文件/*.pub文件,并将它们合并为根用户的单个授权密钥文件 在下面的示例中,a.pub和b.pub将是要添加的两个键。任务应将这两个文件添加到授权密钥文件中,并在添加和删除文件时保持此处的.pub文件列表与文件同步。因此,如果将c.pub添加到文件夹中,它将添加到authorized_keys文件中,而不修改任务 角色结构: /-- roles | |-- ssh | | |-- files

我正在创建一个ansible角色来动态管理用户SSH密钥。一般的想法是让它读取该目录中的所有
文件/*.pub
文件,并将它们合并为根用户的单个
授权密钥
文件

在下面的示例中,
a.pub
b.pub
将是要添加的两个键。任务应将这两个文件添加到
授权密钥
文件中,并在添加和删除文件时保持此处的
.pub
文件列表与文件同步。因此,如果将
c.pub
添加到文件夹中,它将添加到
authorized_keys
文件中,而不修改任务

角色结构:

/-- roles
|   |-- ssh
|   |   |-- files
|   |       |-- a.pub
|   |       |-- b.pub
|   |-- tasks
|       |-- main.yml
|-- site.yml


您要查找的内容是,并将用作:

- name: ensure authorized keys
  authorized_key:
    exclusive: yes
    key: >
       {% for fn in lookup("fileglob", "files/*.pub") %}
       {{ lookup("file", fn) }}
       {% endfor %}
    # ... whatever other options you want