Por que o módulo os_keypair não está retornando private_key?

1

Estou implantando no Rackspace Cloud com o módulo ansible do OpenStack.

Estou enfrentando um problema com a criação do par de chaves SSH. Cria a chave pública e a instala no host. No entanto, posso ver que o JSON retornado não contém um par chave-valor 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

Valor do 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": []
  }
}

Como você pode ver, private_key não está presente. De acordo com os documentos , ele deve ser retornado.

Bastante novo para tudo isso, então seja gentil:)

    
por aairey 20.06.2016 / 11:28

1 resposta

2

Eu acredito que o módulo os_keypair não realizou nenhuma alteração no sistema. O conteúdo da sua variável keypair indica:

{
  "changed": false,
  ...
}

Os documentos ansible dizem isso sobre o retorno de um private_key .

Only when a keypair is generated for the user (e.g., when creating one and a public key is not specified).

Se existir uma chave pública, não acredito que o módulo tenha gerado um novo par de chaves.

    
por 21.06.2016 / 02:47