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

从Linux Docker容器PowerShell远程连接Windows Server 2019/2022报错求助

针对WSMan Negotiate认证报错MI_RESULT_ACCESS_DENIED的解决方案

  • 调整用户名格式:非域环境下认证必须带上目标主机名作为前缀,构造凭证时用户名写为server2019\Admin,不要仅输入Admin,避免PowerShell默认使用本地/域用户逻辑校验导致认证失败。
  • 同步容器与目标主机时间:NTLM认证对时间差敏感度要求小于5分钟,可在启动容器时添加参数-v /etc/localtime:/etc/localtime:ro同步宿主机时间,避免时间差导致的认证拒绝。
  • 确认目标主机WinRM配置:在Windows目标主机执行以下命令开启对应配置(测试环境用,生产环境建议配置SSL加密):
# 开启Negotiate认证
winrm set winrm/config/service/auth @{Negotiate="true"}
# 允许非加密流量传输(未配SSL时必须开启)
winrm set winrm/config/service @{AllowUnencrypted="true"}
  • 验证端口连通性:在容器内执行nc -zv server2019 5985确认WinRM默认HTTP端口可达,避免端口拦截导致的连接异常。

针对SSH通道报错subsystem request failed on channel 0的解决方案

该报错核心原因是Windows目标主机的SSH服务未正确配置PowerShell子系统,和容器本身SSH配置无关:

  • 打开Windows目标主机的SSH配置文件:默认路径为C:\ProgramData\ssh\sshd_config
  • 添加或修改PowerShell子系统配置,路径需匹配你Windows上PowerShell 7的实际安装路径,示例如下:
Subsystem powershell c:/progra~1/powershell/7/pwsh.exe -sshs -NoLogo -NoProfile
  • 保存配置后重启Windows端SSH服务:执行Restart-Service sshd生效
  • 验证配置:在容器内执行ssh admin@server2019 pwsh,如果能直接进入PowerShell交互界面,说明子系统配置正常,再执行Enter-PSSession命令即可正常连接。

内容的提问来源于stack exchange,提问作者KeithMac

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:15:03