我的情况是我在服务器上有1个用户,但需要在其authorized_keys文件中放入2-3个不同的pub键.
--- - hosts: all tasks: - name: update SSH keys authorized_key: user: <user> key: "{{ lookup('file',item) }}" state: present #exclusive: yes with_fileglob: - ../files/pub_keys/*.pub
使用当前标志,它会读取并添加所有键.使用缺席标志,它将删除列出的所有键.
问题是我有一个仅在服务器上的旧密钥,我想删除/覆盖它,并且为将来的部署覆盖可能在服务器上而不是在我的剧本中的任何未授权密钥.
使用独占标志,它只需要最后一个键并添加它.如果它循环并重复添加所有键,这将是太棒了.如果有一种方法可以在Ansible中执行此操作,我还没有找到它.
有没有办法循环pub文件并同时使用独占选项?
没有.关于循环和docs独家的说明:
exclusive: Whether to remove all other non-specified keys from the authorized_keys file. Multiple keys can be specified in a single key string value by separating them by newlines.
This option is not loop aware,so if you use with_,it will be exclusive per iteration of the loop,if you want multiple keys in the file you need to pass them all to key in a single batch as mentioned above.
因此,您需要加入所有密钥并立即发送所有密钥.
像这样的东西:
- name: update SSH keys authorized_key: user: <user> key: "{{ lookup('pipe','cat ../files/pub_keys/*.pub') }}" state: present exclusive: yes
在生产中运行之前检查此代码!
原文地址:https://www.jb51.cc/ubuntu/347329.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。