Я получаю сообщение об ошибке «Не удалось подключиться к хосту через ssh», когда Ansible пытается подключиться к машине через ssh, используя закрытый ключ

Я пытаюсь подготовить машину с помощью ansible. Я должен подключиться к нему через ssh, используя закрытый ключ вместо пароля.

Это содержимое моего файла inventory.txt:

target ansible_host=<ip_address> ansible_ssh_private_key_file=~/.ssh/<private_key_name>.pem

Это содержимое моего файла playbook.yaml:

-
  name: Playbook name
  hosts: target
  tasks:
   <task_list>

Когда я выполняю команду ansible-playbook <playbook_name>.yaml -i inventory.txt, я получаю следующую ошибку:

fatal: [target]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", "unreachable": true}

Я также попытался выполнить следующую команду: ansible-playbook <playbook_name>.yaml --private-key=~/.ssh/<private_key_name>.pem -i inventory.txt, без свойства ansible_ssh_private_key_file внутри файла inventory.txt.

Примечание: я могу подключиться к машине с помощью командыssh -i <private_key_name>.pem <username>@<ip_address>.

Как я могу решить эту проблему?

Введение в Ansible Roles
Введение в Ansible Roles
Ansible - это отличный инструмент управления конфигурацией, который можно использовать для автоматизации настройки или развертывания на большом...
1
0
1 696
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я подозреваю, что вы подключаетесь как другой пользователь. В приведенном выше примере вы используете <user>@<host> во время проверок ssh, но у вас не настроено поле ansible_user=.... Попробуйте указать имя пользователя таким образом в файле hosts.

Да, вот и все. Я пропустил свойство ansible_user. Спасибо.

Narcis Neacsu 09.08.2018 14:20

Если это ответ - отметьте это как решение.

Szczad 09.08.2018 14:22

Конечно. Но мне нужно подождать несколько минут, пока я смогу это сделать.

Narcis Neacsu 09.08.2018 14:22

Другие вопросы по теме