Невозможно пропинговать хосты RHEL, используя ansible. Ошибка: «Отказано в доступе (publickey, gssapi-keyex, gssapi-with-mi c, пароль) - PullRequest
0 голосов
/ 13 февраля 2020

Я новичок в Ansible. Я пытаюсь пропинговать 2 цели RHEL от моего хоста, используя ansible. У меня есть файл инвентаря, настроенный следующим образом:

target1 ansible_host=192.168.43.142 ansible_user=target_user ansible_ssh_password=target_pass
target2 ansible_host=192.168.43.8 ansible_user=target_user ansible_ssh_password=target_pass

Ansible команда, которую я использую:

ansible все -vvv -m ping -i инвентарь .txt

Ниже приведено сообщение, которое я получаю. Обратите внимание, что обычные s sh на обеих целевых машинах работают нормально

ansible 2.9.4
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, May  3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]
Using /etc/ansible/ansible.cfg as config file
host_list declined parsing /home/target_user/ansible/test-project/inventory.txt as it did not pass its verify_file() method
script declined parsing /home/target_user/ansible/test-project/inventory.txt as it did not pass its verify_file() method
auto declined parsing /home/target_user/ansible/test-project/inventory.txt as it did not pass its verify_file() method
yaml declined parsing /home/target_user/ansible/test-project/inventory.txt as it did not pass its verify_file() method
Parsed /home/target_user/ansible/test-project/inventory.txt inventory source with ini plugin
META: ran handlers
<192.168.43.142> ESTABLISH SSH CONNECTION FOR USER: target_user
<192.168.43.142> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="target_user"' -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/79ae0eeb97 192.168.43.142 '/bin/sh -c '"'"'echo ~target_user && sleep 0'"'"''
<192.168.43.8> ESTABLISH SSH CONNECTION FOR USER: target_user
<192.168.43.8> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="target_user"' -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/d23adc63a3 192.168.43.8 '/bin/sh -c '"'"'echo ~target_user && sleep 0'"'"''
<192.168.43.142> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n')
target1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}
<192.168.43.8> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n')
target2 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}

1 Ответ

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

Это сообщение об ошибке - просто сообщение об ошибке S SH. Поскольку вы указываете ansible_user и ansible_ssh_password, вы можете подтвердить, что указанный пользователем (target_user) может войти в систему с помощью target_pass.

Также возможно, что целевые машины не * позвольте target_user войти в систему с паролем.

Трудно быть более точным c из этого сообщения об ошибке. Попробуйте выполнить команду Ansible с "-vvv" и обновите вопрос этим дополнительным текстом.

...