Winrm basic:指定的凭据被服务器错误拒绝

问题描述 投票:0回答:2

尝试使用 Ansible 从 Linux Zorin 控制主机连接到 Windows 主机。 在 Windows 机器中安装 winrm 并将所有必需的身份验证方法设置为 True。

Window Host 中 winrm 的配置

PS C:\WINDOWS\system32> winrm get winrm/config
Config
    MaxEnvelopeSizekb = 500
    MaxTimeoutms = 60000
    MaxBatchItems = 32000
    MaxProviderRequests = 4294967295
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
        AllowUnencrypted = true
        Auth
            Basic = true
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
            CredSSP = false
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        TrustedHosts
    Service
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GXGR;;;S-1-5-21-2039588290-1060779563-2652726705-1011)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
        MaxConcurrentOperations = 4294967295
        MaxConcurrentOperationsPerUser = 1500
        EnumerationTimeoutms = 240000
        MaxConnections = 300
        MaxPacketRetrievalTimeSeconds = 120
        AllowUnencrypted = false
        Auth
            Basic = true
            Kerberos = true
            Negotiate = true
            Certificate = false
            CredSSP = false
            CbtHardeningLevel = Relaxed
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        IPv4Filter = *
        IPv6Filter = *
        EnableCompatibilityHttpListener = false
        EnableCompatibilityHttpsListener = false
        CertificateThumbprint
        AllowRemoteAccess = true
    Winrs
        AllowRemoteShellAccess = true
        IdleTimeout = 7200000
        MaxConcurrentUsers = 2147483647
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 2147483647
        MaxMemoryPerShellMB = 2147483647
        MaxShellsPerUser = 2147483647

即使设置 Basic = true 后,获取指定的信用信息仍会出现拒绝错误。尝试设置AllowUncrypted = true,但显示以下错误消息:

WSMan故障 信息 提供者故障 WSMan故障 消息 = WinRM 防火墙例外将不起作用,因为该计算机上的网络连接类型之一设置为公共。将网络连接类型更改为域或专用,然后重试。

尝试将网络连接类型更改为专用。并尝试设置AllowUncrypted = true,再次出现与上面相同的错误(WinRM防火墙例外将不起作用,因为该计算机上的网络连接类型之一设置为公共。将网络连接类型更改为域或专用,然后重试。 )

也尝试在 Windows 主机上向端口 5985 添加防火墙例外规则。 也尝试通过 winrm configsddl 默认向用户授予读取和执行权限。虽然没工作。

提供正确的凭据。 ansible的hosts文件如下:

[win]
<IP>

[win:vars]
ansible_user=<username>
ansible_password=<password>
ansible_connection=winrm
ansible_winrm_scheme=http
ansible_winrm_transport=basic
ansible_winrm_port=5985
ansible_winrm_server_cert_validation=ignore

尝试以下 ansible 命令:

ansible win -i hosts -m win_ping

我尝试了在互联网上找到的所有内容,但无法通过 winrm 建立连接。

我将感谢任何提供解决方案的人。 4 天来我一直看着屏幕上的错误,眼睛都红了。

ansible credentials winrm
2个回答
8
投票

我将 ansible_winrm_transport 从 basic 更改为 ntlm。它解决了我的问题。


0
投票

为什么?为什么?为什么?我不明白....为什么?为什么?

© www.soinside.com 2019 - 2024. All rights reserved.