无法使用win\u ping ping ping我的Windows服务器

无法使用win\u ping ping ping我的Windows服务器,windows,ansible,ansible-inventory,Windows,Ansible,Ansible Inventory,当我尝试使用ansible Windows-I hosts.ini-m win_ping ping ping我的Windows实例时,出现以下错误: 54.197.197.91 | UNREACHABLE! => { "changed": false, "msg": "plaintext: the specified credentials were rejected by the server", "unreachable": true } 我的hosts.ini文件如下所示: [wi

当我尝试使用ansible Windows-I hosts.ini-m win_ping ping ping我的Windows实例时,出现以下错误:

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
当我尝试ping时,出现以下错误:

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

这起作用了。

对我来说仍然是个问题。我的解决方案是从头开始重新安装与winrm相关的python pip包。我不得不用官方的。根据文件:

apt get install python pip git libffi dev libssl dev-y pip安装ansible pywinrm Windows的端口号是5986,所以您的var配置应该是ansible\u ssh\u端口号:5986
当我遵循一个类似于原始帖子的Ansible示例时,被接受的答案对我不起作用,下面的答案起作用了

注意:这是以明文形式发送密码,所以不要在生产中使用

在目标计算机上,运行具有管理员权限的powershell并输入以下命令:

设置项-路径WSMan:\localhost\Service\Auth\Basic-值$true winrm设置winrm/config/service'@{AllowUnencrypted=true}

还要验证防火墙是否正确配置,以允许通过TCP/5985、TCP/5986进行必要的端口

资料来源:


即使AllowUnencrypted设置为true,我也遇到了同样的问题。我注意到win_ping为添加到管理员组但失败的IEUser工作

windows-server | UNREACHABLE! => {
  "changed": false,
  "msg": "plaintext: the specified credentials were rejected by the server",
  "unreachable": true
}
对于不在管理员组中的测试用户


因此,我将测试用户添加到管理员组中,问题得到了解决。

我在谷歌上搜索了很多,最后下面的配置对我起到了作用。我已将ntlm添加到配置文件中

ansible_user: user@DOMAIN.COM
ansible_password: password
ansible_connection: winrm
ansible_ssh_port: 5986
ansible_winrm_transport: ntlm
ansible_winrm_server_cert_validation: ignore

1您的Windows身份验证有问题,需要解决;使用Ansible vault与此机制无关,尝试这样做不会改变任何事情。2库存文件未针对Jinja2变量进行分析;这样是行不通的即使这样,这对1没有影响。我是否需要更改任何东西来解析我的清单文件中的jinja2变量?可能需要分叉Ansible项目并编写您自己的系统。您能解释一下这些行的去向吗?yaa raja…它们必须放在hosts.ini文件中,如问题所示。如果您愿意,您的解决方案很好通过未加密的连接与远程节点连接。这有点像把车钥匙放在桌子上,希望没有人拿走。或者你打算以后再加加密?我在谷歌上搜索了一个不可行的解决方案,直到我在这个问题的末尾找到你的答案!!谢谢