Рейтинг:0

Сбой разрешений модуля синхронизации Ansible

флаг it

0

Я хочу синхронизировать учетные данные letsencrypt с хоста S на хост D с помощью задачи ansible, работающей на хосте H.

Моя текущая задача выглядит так:

- имя: Синхронизировать локальный каталог letsencrypt
  ansible.posix.synchronize:
    источник: /etc/letsencrypt
    место назначения: /etc/letsencrypt
    архив: правда
    контрольная сумма: правда
    удалить: правда
    рекурсивный: правда
    стать_пользователем: myuserid
    rsync_path: "sudo rsync"
  стать истинным
  делегат_кому: С

На хосте S:

drwxr-xr-x. 9 root root 4096 10 июля 01:15 /etc/letsencrypt

На хосте D:

drwxr-xr-x. 2 корень корень 6 апр 8 07:58 /etc/letsencrypt

Сообщение об ошибке, которое я получаю:

ЗАДАЧА [sync_certs - rsync от главного хоста сертификата к хосту ведомого сертификата] ****************************************** ******
фатально: [D]: НЕДОСТУПНО! => {"changed": false, "msg": "Неверный/неверный пароль: доступ запрещен, попробуйте еще раз.", "unreachable": true}

Поскольку вход в систему root запрещен на всех хостах, задача выполняется от имени обычного пользователя с разрешениями sudo на выполнение «bash». Такая ситуация на всех хостах.

Любая помощь будет принята с благодарностью.

PS: следующий сценарий bash выполняется успешно. К сожалению, он запрашивает пароль для myuserid.

sudo /usr/bin/rsync --rsync-path="sudo rsync" --acls --archive --checksum --delete --links --numeric-id --recursive --stats --times --verbose / etc/letsencrypt [email protected]::letsencrypt
Рейтинг:0
флаг cz

Вы пытаетесь подключиться к удаленному хосту «S» как пользователь, который не настроен для использования ansible или не существует, поэтому ansible не может подключиться к хосту по ssh и пройти аутентификацию. Вам необходимо указать правильный удаленный_пользователь для подключения к этому хосту.

Кроме того, ваша задача делает что-то странное: вы запросили sudo для myuserid вместо root, а затем запустить судо rsync снова, чтобы фактически запустить процесс rsync. В этом нет необходимости; просто позвольте ему sudo получить root права, как обычно.

dubby avatar
флаг it
Майкл, я удалил «become_user» и добавил «remote_user: myuserid». Я получаю ту же ошибку, что и в моем исходном вопросе.
Michael Hampton avatar
флаг cz
@dubby Вы на 100% уверены, что предоставили этому пользователю правильные учетные данные для подключения по ssh к этой системе? Проверьте журналы этой системы, чтобы узнать, что могло пойти не так.
dubby avatar
флаг it
Майкл, в журнале systemd нет ничего, что указывало бы на какую-либо проблему. У меня есть идентификатор пользователя и пароль для входа в систему и root в /etc/rsyncd.secrets. Вопрос: Должен ли пароль в этом файле быть простым текстом или он должен быть хеширован? Я использую обычный текст. Кажется, я не могу найти какие-либо документы, в которых указано, хешировано ли это s/b или нет.
dubby avatar
флаг it
Майкл, я перезапустил задачу с параметром -vvvvv и зафиксировал результат. К сожалению, это >740 строк. Если я выясню, как использовать pastebin, сможете ли вы интерпретировать неудачный вход в систему?
Michael Hampton avatar
флаг cz
@dubby Вы не используете ssh-ключи?!
dubby avatar
флаг it
Я использую ключи ssh из версии сценария оболочки rsync, и она отлично работает. Я предполагаю, что ansible использует ssh для связи между хостами. Все остальные мои плейбуки прекрасно подключаются и выполняются на этих же хостах.
Рейтинг:0
флаг cn

Можете ли вы войти через ssh с пользователем «myuserid»? Я думаю, что ключом проблемы является совместное использование ключей между хостами S и D. Проверьте, как вы запускаете playbook, и добавьте флаг -umyuserid -k

dubby avatar
флаг it
Я могу успешно подключиться по ssh к «myuserid» без ввода пароля. Для этого я использую ключи ssh-rsa.
dubby avatar
флаг it
Когда я запускаю playbook с -u myuserid -k, я получаю ту же ошибку, что и в моем исходном вопросе.
tilleyc avatar
флаг us
Вы пытались явно указать ключ ssh для использования с флагом `âprivate-key`?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.