我基本上是创建一本用于创建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-----
“〜请提出是否还有其他方法可以实现这一目标?
不确定,下面的语句是什么意思。从这个问题,猜测什么都没有写入目标文件。
...但无法实现此目标...
您的任务看起来不错。但是,要将多行字符串作为参数传递,请添加引号(‘
)来定义这样的变量值。
$ ansible-playbook abc.yaml -e “my_pub_key=‘
-----BEGIN CERTIFICATE-----
.
.
.
.
-----END CERTIFICATE-----‘“