Я выполняю развертывание в Rackspace Cloud с помощью модуля OpenStack ansible.
У меня проблема с созданием пары ключей SSH. Он создает открытый ключ и устанавливает его на хост. Однако я вижу, что возвращенный JSON не содержит пары ключ-значение private_key.
- name: SSH key check
os_keypair:
auth:
auth_url: "{{ os_auth_url }}"
project_name: "{{ os_project_name }}"
username: "{{ os_username }}"
password: "{{ os_password }}"
state: present
region_name: "{{ os_region }}"
name: "{{ os_key_name }}"
register: keypair
- name: Create local public
local_action:
module: copy
content: "{{ keypair.key.public_key }}"
dest: "~/.ssh/{{ keypair.key.name }}.pub"
- name: Create local private key
local_action:
module: copy
content: "{{ keypair.key.private_key }}"
dest: "~/.ssh/{{ keypair.key.name }}"
ignore_errors: True
Значение keypair var:
{
"changed": false,
"id": "openstack",
"key": {
"public_key": "ssh-rsa AAAAByouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeyouknowwhatapublickeylookslikeJiln Generated-by-Nova",
"NAME_ATTR": "name",
"name": "openstack",
"fingerprint": "89:e9:3d:s0:m3:nu:mb:3r:41:d5:09:8b:a9:b8:50:65",
"id": "openstack",
"human_id": null,
"request_ids": [],
"HUMAN_ID": false,
"x_openstack_request_ids": []
}
}
Как вы видете private_key
нет. В соответствии с документы он должен его вернуть.
Довольно новичок во всем этом, так что будьте осторожны :)
Я верю os_keypair
модуль не вносил никаких изменений в систему. Содержимое вашего keypair
переменные указывают:
{
"changed": false,
...
}
В доступных документах это говорится о возврате private_key
.
Только когда для пользователя создается пара ключей (например, при ее создании и не указан открытый ключ).
Если открытый ключ существует, я не думаю, что модуль создал бы новую пару ключей.