加盐并管理.ssh / authorized_keys

时间:2015-11-27 08:26:45

标签: ssh ssh-keys salt-stack

Salt有一个管理.ssh/authorized_keys

的状态模块

https://docs.saltstack.com/en/develop/ref/states/all/salt.states.ssh_auth.html

我对它不满意,因为它结合了代码和数据。

状态文件对我来说是某种源代码。

ssh-key对我来说是数据。

我不想将两者结合在一个文件中。

是否有其他解决方案来分隔代码和数据?

2 个答案:

答案 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 Formulaopenssh/auth.sls包含从支柱中提取所有数据的状态的代码。在公式的根文件夹中,您可以找到pillar.example,其中显示了如何为支柱构建数据。

也许这个公式是你的起点。