盐和管理 .ssh/authorized_keys

Salt and managing .ssh/authorized_keys

Salt 有一个状态模块来管理.ssh/authorized_keys

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

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

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

ssh 密钥是我的数据。

我不想将两者合并到一个文件中。

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

请看OpenSSH Formulaopenssh/auth.sls 包含从支柱中提取所有数据的状态代码。在公式的根文件夹中,您会找到 pillar.example,其中显示了如何构建柱子的数据结构。

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

您不必将它们放在一个文件中:

根据文档: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

(与文档中的示例相反,如果配置:值以“%”开头,我会收到错误消息)

这会将您的密钥保存在相应的文件中,并且仅通过文件名将它们与您的代码链接起来。