是否有可能使用Ansible authorized_key与多个键独占?

是否有可能使用Ansible authorized_key与多个键独占?,第1张

概述是否有可能使用Ansible authorized_key与多个键独占

我在使用Ansible方面相当新,并且一直在这里阅读和谷歌,还没有find答案。

我的情况是,我有一个服务器上的用户,但有2-3个不同的酒吧的钥匙,需要放在它的authorized_keys文件。

我可以成功删除所有密钥,或者使用此脚本添加所有密钥:

--- - 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

用present标志读取并添加所有的键。 使用absent标志删除列出的所有密钥。

无密码的sshlogin后检查远程用户的身份?

Amazon AWS EC2已删除的密钥被locking在根外

问题是我有一个旧的密钥,只有在服务器上,我想删除/覆盖它,并为将来的部署覆盖可能在服务器上,而不是在我的手册中的任何未经授权的密钥。

使用exclusive标志只需要最后一个键并添加它。 如果它会循环添加所有的键,这将是太棒了。 如果在Ansible有办法做到这一点,我还没有find它。

有什么办法可以循环使用pub文件并同时使用exclusive选项吗?

有什么办法可以循环使用pub文件并同时使用独占选项吗?

没有。在文档中有关于循环和排他性的注释:

exclusive:是否从authorized_keys文件中删除所有其他非指定的密钥。 通过用换行符分隔多个键可以在单个键字符串值中指定。 这个选项不是循环感知的,所以如果你使用with_,它将在循环迭代中是独占的,如果你想在文件中使用多个键,你需要把它们全部传递到上面提到的一个批处理中。

所以你需要加入所有的钥匙,并一次发送所有的钥匙。


像这样的东西:

- name: update SSH keys authorized_key: user: <user> key: "{{ lookup('pipe','cat ../files/pub_keys/*.pub') }}" state: present exclusive: yes

在生产运行之前检查这个代码!

如果你把你的用户放在一个变量中,你可以使用这个:

--- - hosts: all vars_files: - roles/users/vars/main.yml tasks: - name: Allow other users to login to the account authorized_key: user: user_name exclusive: yes key: "{{ developers|map(attribute='publish_ssh_key')|join('n') }}"

roles/users/vars/main.yml如下所示:

--- developers: - name: user1 publish_ssh_key: ssh-rsa AAAA... - name: user2 publish_ssh_key: ssh-rsa AAAA...

总结

以上是内存溢出为你收集整理的是否有可能使用Ansible authorized_key与多个键独占?全部内容,希望文章能够帮你解决是否有可能使用Ansible authorized_key与多个键独占?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1158283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存