Добавить пару ключей на удаленный сервер Linux - PullRequest
0 голосов
/ 12 февраля 2019

Я бы хотел добавить пару ключей в "tuser" на linux-сервере "Ubuntu 18.04lts", используя ansible, просто чтобы избежать входа в систему на основе пароля.Итак, я попытался с таким успехом в файле yml playbook:

- name: Set authorized key for tuser
  become: yes
  authorized_key:
    user: tuser
    state: present
    key:  "{{ lookup('file', '/home/rogg/.ssh/id_rsa.pub') }}"

хорошо, но когда я попытался использовать другое местоположение в ключе:

- name: Set authorized key for tuser
  become: yes
  authorized_key:
    user: tuser
    state: present
    key: "{{ role_path }}/files/csbin_keys/id_rsa.pub"

, я получаю:

"msg": "указан неверный ключ

Я уже использовал {{role_path}} для копирования других файлов и просто работает, но в этих ключах он не«т

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Вы также можете использовать опцию with_file, которая читает содержимое файла:

- name: Ensure the public key is populated
    authorized_key:
      user: john
      state: present
      key: '{{ item }}'
    with_file:
      - /home/john/.ssh/id_rsa.pub
0 голосов
/ 12 февраля 2019

Выдержка из документов для authorized_key модуля:

= key
Открытый ключ (ы) SSH в виде строки или (начиная с 1.9) URL (*)1008 *

В первом примере lookup('file', '/home/rogg/.ssh/id_rsa.pub') читает файл /home/rogg/.ssh/id_rsa.pub и передает его содержимое как значение key.

Во втором примере вы пытаетесь указать путь к файлу как key значение.

Заменить его поиском:

lookup('file', role_path+'/files/csbin_keys/id_rsa.pub')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...