如何从库中读取ssh密钥并用salt写入文件

问题描述 投票:0回答:1

我希望有人可以帮助我🙂。

我已将ssh密钥存储在Vault中作为秘密。使用saltstack配置,我正在阅读带有支柱的秘密。像这样

  docker:
  {% set sshkey = salt['vault'].read_secret('super/secret/sshinfo', 'slackbot') %}
  sshkey: | 
    {{ sshkey | indent(4) }}

[init.sls文件看起来像这样:

{% set docker_config = pillar['docker'] %}
    git-key:
      file.managed:
        - name: /root/.ssh/slack-bot
        - contents: {{ docker_config.sshkey }}
        - mode: 400
        - user: root

哪个效果很好,我可以通过输入salt-call pillar.items来获得ssh密钥>

但是,当我运行salt-call state.apply时,出现以下错误消息

local:
    Data failed to compile:
----------
    Rendering SLS 'base:docker' failed: could not find expected ':'

哪个让我发疯!

我读过Mulitline string on Github,为了用盐写多线,您需要有| indent(4)(作为示例)。

有人有什么想法吗?将不胜感激🙂

我希望有人可以帮助我🙂。我已将ssh密钥存储在Vault中作为秘密。使用saltstack配置,我正在阅读带有支柱的秘密。像这个泊坞窗一样:{%set sshkey = salt ['vault'] ....

salt-stack hashicorp-vault
1个回答
0
投票

所以,过了一会儿我尝试将indent(4)更改为indent(5),但是它没有放弃错误。所以我也尝试将content更改为

© www.soinside.com 2019 - 2024. All rights reserved.