Назад | Перейти на главную страницу

Ansible: в доступе отказано (публичный ключ, пароль)

Я не могу подключиться к хосту в Ansible. Это ошибка:

192.168.1.12 | Недостижимо! => {"changed": false, "msg": "ERROR! SSH обнаружил неизвестную ошибку во время подключения. Мы рекомендуем вам повторно запустить команду с помощью -vvvv, что позволит выводить данные отладки SSH для диагностики проблемы", "unreachable": true}

Это мое hosts файл:

[test]
192.168.1.12

А это специальная инструкция:

ansible all -m ping

Я могу подключиться через raw ssh

Ошибка, которую он возвращает, говорит обо всем, что хост недоступен, так как ssh не работает. Посмотрите, что за пинг команда делает в недоступном:

ping - попробуйте подключиться к хосту, проверьте работоспособность питона и верните pong в случае успеха.

Если вы можете использовать raw ssh, это не гарантирует, что ansible может. Вам необходимо настроить ssh на основе ключа или добавить опцию passowrd:

ansible all -m ping --ask-pass

При общении с удаленными машинами Ansible по умолчанию предполагает, что вы используете ключи SSH. Ключи SSH приветствуются, но при необходимости также можно использовать аутентификацию по паролю, указав параметр --ask-pass. При использовании функций sudo и когда sudo требует пароль, также укажите --ask-sudo-pass.

Ссылка: http://docs.ansible.com/ansible/intro_getting_started.html

Решено удалением ansible_become = true в файле / etc / ansible / hosts.