Ansible HTTPS 连接错误的 SSL 版本

Ansible HTTPS connection wrong SSL version

我尝试使用 Ansible 使用 credssp 连接到我的 windows 7 机器,我收到如下错误。

tls_server_hello,wrong_ssl_version.

而当我在我的 windows 10 机器上尝试同样的操作时,我可以做到 win_ping

我也遇到了这个问题,结果就到这里了。

谷歌搜索让我相信这可能是因为 windows 主机上的第三方根证书可能以某种方式被破坏了。这是一个糟糕的更新吗?它是一个危险的用户吗?谁知道!谁在乎!

我做了以下操作,它解决了我的连接问题:

1)删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\Certificates

2) 重启

不再有 SSL 错误版本错误

我的回答直接来自Ansible docs.问题是Windows7默认使用TLS 1.0,但是ansible需要TLS 1.2。

你可以用openssl测试WinRM使用的是哪个版本,例如:

openssl s_client -connect your_win7_remote_host:5986

Protocol displayed has to be TLSv1.2. Follow the steps in link provided to create necessary registry keys and after restart it should work. That is:

Create entry DefaultSecureProtocols with value 0x00000800 (for TLSv1.2 only) or 0x00000A00 (for both TLSv1.1 and TLSv1.2) in keys 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

and (for x64 machines)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Create entry DisabledByDefault with value 0 in key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server