可从用户输入中读取openssl公钥(.pem)内容并在服务器上创建文件

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

我基本上是创建一本用于创建pkcs12文件的剧本,其中要求输入公钥(.pem)和私钥。我的私钥在服务器上,因此我可以传递文件的位置。但是我的公钥(.pem)不在服务器上,我也不能从本地复制粘贴。所以我想创建一个ansible-playbook,它可以作为变量从用户读取公共密钥内容,并在远程服务器上创建文件以用于pkcs12文件创建。

我的公钥内容分布在如下所示的多行中。

-----BEGIN CERTIFICATE-----
(64-character alphanumeric content)
.
.
.
.
-----END CERTIFICATE-----

您能否建议实现此目的的简单方法。我正在使用复制模块的“内容”选项,但无法实现此目的。

  tasks:
  - name: copy content
    copy:
     content: "{{ my_pub_key }}"
     dest: /tmp/{{file}}.pem

ansible-playbook abc.yaml -e "my_pub_key=
-----BEGIN CERTIFICATE-----
.
.
.
.
-----END CERTIFICATE-----

“〜请提出是否还有其他方法可以实现这一目标?

shell ssl scripting ansible public-key
1个回答
0
投票

不确定,下面的语句是什么意思。从这个问题,猜测什么都没有写入目标文件。

...但无法实现此目标...

您的任务看起来不错。但是,要将多行字符串作为参数传递,请添加引号()来定义这样的变量值。

$ ansible-playbook abc.yaml -e “my_pub_key=‘
-----BEGIN CERTIFICATE-----
.
.
.
.
-----END CERTIFICATE-----‘“
© www.soinside.com 2019 - 2024. All rights reserved.