明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

今天在用远程桌面连接服务器的时候突然报错,说是身份验证错误,代码: 0x800706be

图片

 

然后就卡住了一下。经过尝试,发现了原因。

因为昨天我删除了凭据管理器里面的一个普通凭证,需要我手动加回去。具体操作如下
  • 第一步打开凭据管理器,通过windows搜索

图片

 选择Windows凭据

图片

 

 添加普通凭据

图片

 输入你要访问的远程服务器ip,用户名,密码,最后确定

 

 

 

0x800706be 这个技术问题到底是什么?合理吗?

错误码 0x800706BE 字面含义:RPC 远程过程调用失败Microsoft ...
 
现象很反直觉:明明你在 mstsc 界面手动输入正确账号密码、不点保存密码,按理系统应该拿你界面输入的密码直接去认证,结果直接报错,连密码都没发给服务器。

底层原理(大白话)

RDP (mstsc) 分两套凭据存储:
  1. Windows 凭据:勾选「记住我的凭据」时自动保存的条目。
  2. 普通凭据(Generic Credential),名字格式 TERMSRV/IP
当开启 NLA(CredSSP 身份验证)时:
mstsc 内部逻辑有一个缺陷:只要曾经存在过一条 TERMSRV/xxx 的普通凭据,哪怕你后来把它删掉了,后续你在界面手动输入密码,CredSSP 组件依然会尝试去读取这条已经被删除的凭据条目;读取失败直接抛出 RPC 异常0x800706be完全不去使用你界面刚刚输入的账号密码
👉 重点坑:
 
你以为:我手动敲密码,系统就用我敲的密码。
 
实际 Windows 行为:优先去找本地凭据库,凭据库状态异常,直接本地崩溃,密码根本没有发送到服务器
 
服务器完全收不到认证请求,自然不会返回 “密码错误”。

为什么别的服务器正常,唯独这台有问题?

  1. 别的服务器:要么没有残留 / 删除过普通凭据,要么握手走到 NTLM 路径,不会触发这个 bug。
  2. 这台服务器:你之前连接过,生成过TERMSRV/36.139.47.64普通凭据,后来手动删掉了;Windows 凭据库留下损坏状态,后续每次连接触发这个逻辑 bug。
  3. Win11 更新 CredSSP 组件后,更容易触发该边界 bug,所以会出现之前好好的,更新后突然炸掉