OK, fiz alguns ajustes no seu manual, e aqui está a versão revisada
---
- hosts: 127.0.0.1
connection: local
vars:
my_users:
belminf: "belminf"
bob: "tmessins"
tasks:
- name: Retrieving all keys from GitHub
shell: /usr/bin/curl https://github.com/{{ item.value }}.keys 2> /dev/null
register: ssh_keys
with_dict: my_users
- name: Adding keys to authorized_keys
authorized_key: user=belminf key="{{ item.stdout }}" path=/home/belminf/test_auth state=present
with_items: ssh_keys.results
ignore_errors: yes
Algumas alterações observam:
- No módulo
authorized_key
, a chave foi alterada paraitem.stdout
. O stdout era a chave pública que você precisa. - No módulo
authorized_key
, definiignore_errors: yes
para retomar a execução do playbook sempre que a tarefa de curl não conseguiu buscar, seja um problema da Internet ou 404 Not Found (como a chave do tmessins). Claro que você pode ajustá-lo por controlando o que define a falha por isso ainda falha quando outro erro aconteceu.