Salt有一个管理.ssh/authorized_keys
https://docs.saltstack.com/en/develop/ref/states/all/salt.states.ssh_auth.html
我对它不满意,因为它结合了代码和数据。
状态文件对我来说是某种源代码。
ssh-key对我来说是数据。
我不想将两者结合在一个文件中。
是否有其他解决方案来分隔代码和数据?
答案 0 :(得分:2)
您不必将它们放在一个文件中:
根据文档:https://docs.saltstack.com/en/latest/ref/states/all/salt.states.ssh_auth.html 你可以使用这种方法:
thatch:
ssh_auth.present:
- user: root
- source: salt://ssh_keys/thatch.id_rsa.pub
- config: /%h/.ssh/authorized_keys
(与文档中的示例相反,如果config:value以'%'开头,我会收到错误)
这会将您的密钥保存在相应的文件中,并且只能通过文件名将其与代码链接起来。
答案 1 :(得分:1)
请查看OpenSSH Formula。 openssh/auth.sls
包含从支柱中提取所有数据的状态的代码。在公式的根文件夹中,您可以找到pillar.example
,其中显示了如何为支柱构建数据。
也许这个公式是你的起点。