Попытка добавить открытые ключи GitHub двух человек к файлу авторизованных пользователей пользователя. Я могу успешно получить ключи SSH:
---
- 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
- debug: var=ssh_keys
Однако я не уверен, как циклично выполниться через ssh_keys
результаты и использование authorized_keys
задача добавить полученные ключи.
Моя смешная попытка:
- name: Adding keys to authorized_keys
authorized_key: user=belminf key="{{ item }}" path=/home/belminf/test_auth state=present
with_items: ssh_keys.results
Результаты в invalid key specified
. Понятно, но я вне идей. Кто-либо?
OK, ek het 'n paar aanpassings op u speelboek gemaak, en hier is die hersiene weergawe
---
- 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
Sommige veranderinge let op:
author_key
-module is die sleutel verander na item.stdout
. Die stdout was 'n publieke sleutel wat u benodig. author_key
-module het ek ignore_errors gedefinieer: ja
om die uitvoering van die speelboek te hervat wanneer die krul-taak nie kon haal nie, internetprobleem of 404 Nie gevind nie (soos die sleutel van tmessins). Natuurlik kan u dit aanpas deur te beheer wat defensie definieer , sodat dit steeds misluk het toe ander foute plaasgevind het. Начиная с Допускаемого 1.9, значение для ключа может быть url, что избавляет от необходимости скручивать url через модуль
shell
.
Пример:
- name: Add my SSH key
authorized_key: user=jeffwidman key=https://github.com/jeffwidman.keys
Теперь это действительно просто:
- name: get github key(s) and update the authorized_keys file
authorized_key:
user: "{{ username }}"
key: "https://github.com/{{ username }}.keys"
для получения подробной информации, проверьте эту роль github