You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux通过WinRM连接Windows遇SSL协议不支持错误求调试方案

解决WinRM SSL协议不兼容问题的调试步骤

1. 检查Windows端SSL/TLS配置

  • 用管理员权限打开Windows PowerShell,执行以下命令查看WinRM及系统级的SSL支持情况:
    Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\WinRMConfig\WinRS'
    Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols'
    
    重点确认是否启用了TLS 1.2或TLS 1.3,老版本的SSL/TLS(如SSL3、TLS1.0/1.1)现在基本被主流系统禁用。

2. 测试Linux与Windows的SSL协议兼容性

  • 在Linux终端用OpenSSL直接测试不同协议版本的连接:
    # 测试TLS 1.2
    openssl s_client -connect x.x.x.x:5986 -tls1_2
    # 测试TLS 1.3
    openssl s_client -connect x.x.x.x:5986 -tls1_3
    
    哪个命令能成功建立连接,就说明两端兼容该版本的SSL协议。

3. 强制WinRM会话使用兼容的SSL版本

  • 在Linux的PowerShell中修改会话选项,指定使用刚才测通的协议版本:
    # 示例:指定强制使用TLS1.2
    $so = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck -SslProtocol Tls12
    # 重新执行连接命令
    New-PSSession -ComputerName x.x.x.x -Credential $credential -UseSSL -SessionOption $so -Authentication Basic
    
    若TLS1.3测试通过,可将SslProtocol的值改为Tls13再次尝试。

4. 检查Windows端WinRM的证书配置

  • 确认WinRM绑定的证书是否有效:
    winrm enumerate winrm/config/listener
    
    找到输出中的CertificateThumbprint,打开Windows证书管理器,检查该证书的有效性及支持的SSL/TLS版本。

5. 调整Linux端PowerShell的SSL环境

  • 可临时设置环境变量指定SSL协议,再启动PowerShell尝试连接:
    export SSL_CIPHERS='TLSv1.2'
    pwsh
    
    同时检查PowerShell配置文件(如~/.config/powershell/profile.ps1)中是否有禁用特定SSL协议的设置。

内容的提问来源于stack exchange,提问作者Mr. Annonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:17:21