视差credssp: Bad HTTP response returned from server. Code 502
Ansible安装在Linux机器上&我正在尝试建立与Windows客户端计算机的连接
设置如下变量:winrm.html
ansible_user: <uname>
ansible_password: <pass>
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
ansible_winrm_transport: credssp运行剧本会导致以下错误。你能给出一些指示来进一步检查这件事以获得解决办法吗?
fatal: [<hostname>]: UNREACHABLE! => {"changed": false, "msg": "credssp: Bad HTTP response returned from server. Code 502", "unreachable": true}
添加客户端设置的详细信息(看起来不错),如下所示:Setup.html#winrm-侦听器
PS C:\Windows\system32> (Get-Service "WinRM").Status
Running下面指示:HTTP:已启用
PS C:\Temp\Ansible> .\ConfigureRemotingForAnsible.ps1 -Verbose
VERBOSE: Verifying WinRM service.
VERBOSE: PS Remoting is already enabled.
VERBOSE: SSL listener is already active.
VERBOSE: Basic auth is already enabled.
VERBOSE: Firewall rule already exists to allow WinRM HTTPS.
VERBOSE: HTTP: Enabled | HTTPS: Disabled
VERBOSE: PS Remoting has been successfully configured for Ansible.Exec策略也设置为不受限制的。
PS C:\Temp\Ansible> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine UnrestrictedPowershell版本看起来很好: 5.x:
PSVersion 5.1.19041.1682下面的http链接的快速检查也在windows客户端上进行。我只在Linux机器上看到问题,我正试图从Linux机器连接/运行剧本。
winrs -r:http://<hostname>:5985/wsman -u:<user> -p:<pass> ipconfig发布于 2022-11-30 10:55:02
我假设选择的身份验证方法
ansible_winrm_transport: credssp以及问题中关于Windows端CredSSP的缺失信息和502错误,这可能是造成的,因为CredSSP ist没有启用。
正如无源WinRM模块文档中所述,如果选择的身份验证方法是CredSSP,则需要启用该方法:
默认情况下,CredSSP身份验证在Windows主机上不启用,但可以通过在PowerShell中运行以下命令来启用: 启用-WSManCredSSP -Role Server -Force
根据WSMAN文档,可以使用以下方法检查CredSSP的状态:
Get-WSManCredSSP可能的结果:
如果计算机配置为CredSSP,则输出如下: 该机器被配置为允许将新凭据委托给以下目标:wsman/server02.Accounting.firikam.com 如果计算机未配置为CredSSP,则输出如下:
The machine is not configured to allow delegating fresh credentials.
https://stackoverflow.com/questions/74574777
复制相似问题