Не удалось выполнить ping на моем Windows Server с помощью win_ping

Вопрос: Когда я попытался выполнить ping свой экземпляр Windows, используя ansible windows -i hosts.ini -m win_ping, я получил следующую ошибку: 54.197.197.91 | UNREACHABLE! => { "changed": false, "msg": "plaintext: the specified credentials were rejected by the server", "unreachable": true } Мой файл hosts.ini выглядит так: [windows] 54.197.197.91 [windows:vars] ansible_ssh_user=Administrator ansible_ssh_pass=MyPassword123! ansible_ssh_port=5985 ansible_connection=winrm Чтобы решить это,

Вопрос:

Когда я попытался выполнить ping свой экземпляр Windows, используя ansible windows -i hosts.ini -m win_ping, я получил следующую ошибку:

54.197.197.91 | UNREACHABLE! => { «changed»: false, «msg»: «plaintext: the specified credentials were rejected by the server», «unreachable»: true }

Мой файл hosts.ini выглядит так:

[windows] 54.197.197.91 [windows:vars] ansible_ssh_user=Administrator ansible_ssh_pass=MyPassword123! ansible_ssh_port=5985 ansible_connection=winrm

Чтобы решить это, я сделал следующее:

ansible-vault create secret.yml

и ввели мой пароль там вот так:

win_initial_password: MyPassword123!

Затем мой файл hosts.ini выглядел так:

[windows] 54.197.197.91 [windows:vars] ansible_ssh_user=Administrator ansible_ssh_pass={{ win_initial_password }} ansible_ssh_port=5985 ansible_connection=winrm

Когда я пробовал пинговать, я получил следующую ошибку:

54.197.197.91 | FAILED! => { «failed»: true, «msg»: «the field ‘password’ has an invalid value, which appears to include a variable that is undefined. The error was: ‘win_initial_password’ is undefined» }

Где я иду не так?

Лучший ответ:

Я решил это, изменив их:

ansible_ssh_port=5986 ansible_winrm_server_cert_validation=ignore

Это сработало.

Ответ №1

Поскольку я следовал примеру Ansible, подобному исходному сообщению, принятый ответ не сработал для меня, следующее получило его работу

Примечание. Это отправка пароля в виде обычного текста, поэтому его нельзя использовать в производстве

На целевой машине запустите powershell с правами администратора и введите следующие команды:

Set-Item -Path WSMan:localhostServiceAuthBasic -Value $true winrm set winrm/config/service ‘@{AllowUnencrypted=»true»}’

Также убедитесь, что ваш брандмауэр настроен правильно, чтобы разрешить необходимые порты (TCP/5985, TCP/5986)

Источники:

http://docs.ansible.com/ansible/latest/user_guide/windows_winrm.html#authentication-options https://github.com/diyan/pywinrm/issues/114

Ответ №2

Для меня все еще была проблема. Моим решением было переустановить пакеты python-pip связанные с winrm с нуля. Мне пришлось использовать официальную документацию Ansible. Согласно документации:

  1. apt-get install python-pip git libffi-dev libssl-dev -y
  2. pip install ansible pywinrm
  3. Номер порта для Windows – 5986, поэтому для конфигурации var должна быть ansible_ssh_port: 5986

Ответ №3

Я столкнулся с этой же проблемой, даже если для параметра “AllowUnencrypted” установлено значение true. Я заметил, что win_ping работает для IEUser который был добавлен в группу администраторов, но с ошибкой

windows-server | UNREACHABLE! => { «changed»: false, «msg»: «plaintext: the specified credentials were rejected by the server», «unreachable»: true }

для test-user который не был в группе администраторов.

Поэтому я добавил test-user в группу администраторов, и проблема была решена.

Ответ №4

Администратор не работал для меня тоже, потому что учетная запись администратора в Windows была отключена. После включения учетной записи администратора снова работает.

Оцените статью
Добавить комментарий