可以从用户输入中读取 openssl public 密钥(.pem)内容并在服务器上创建文件
ansible to read openssl public key (.pem) content from user input and create a file on server
我基本上是在创建一个用于创建 pkcs12 文件的剧本,其中要求 public 密钥 (.pem) 和私钥。我的私钥在服务器上,所以我可以传递文件的位置。但是我的 public 密钥 (.pem) 不在服务器上,我也无法从本地复制粘贴。
所以我想创建一个 ansible-playbook,它可以从用户读取 public 关键内容作为变量,并在远程服务器上创建一个文件以用于创建 pkcs12 文件。
我的public关键内容分布在多行中,如下所示。
-----BEGIN CERTIFICATE-----
(64-character alphanumeric content)
.
.
.
.
-----END CERTIFICATE-----
您能否建议实现此目的的简单方法。
我正在使用复制模块 'content' 选项,但无法实现。
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-----
”~
请建议是否有任何其他方法可以实现此目的?
不太清楚,下面的语句是什么意思。从问题来看,猜测目标文件中没有写入任何内容。
...but unable to achieve this...
你的任务看起来不错。但是,要将多行字符串作为参数传递,请添加引号 ('
) 来定义这样的变量值。
$ ansible-playbook abc.yaml -e "my_pub_key='
-----BEGIN CERTIFICATE-----
.
.
.
.
-----END CERTIFICATE-----'"
我基本上是在创建一个用于创建 pkcs12 文件的剧本,其中要求 public 密钥 (.pem) 和私钥。我的私钥在服务器上,所以我可以传递文件的位置。但是我的 public 密钥 (.pem) 不在服务器上,我也无法从本地复制粘贴。 所以我想创建一个 ansible-playbook,它可以从用户读取 public 关键内容作为变量,并在远程服务器上创建一个文件以用于创建 pkcs12 文件。
我的public关键内容分布在多行中,如下所示。
-----BEGIN CERTIFICATE-----
(64-character alphanumeric content)
.
.
.
.
-----END CERTIFICATE-----
您能否建议实现此目的的简单方法。 我正在使用复制模块 'content' 选项,但无法实现。
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-----
”~ 请建议是否有任何其他方法可以实现此目的?
不太清楚,下面的语句是什么意思。从问题来看,猜测目标文件中没有写入任何内容。
...but unable to achieve this...
你的任务看起来不错。但是,要将多行字符串作为参数传递,请添加引号 ('
) 来定义这样的变量值。
$ ansible-playbook abc.yaml -e "my_pub_key='
-----BEGIN CERTIFICATE-----
.
.
.
.
-----END CERTIFICATE-----'"