Windows 7 远程桌面连接保存凭据不起作用

Ian*_*oyd 43 remote-desktop windows-7 windows-server

使用远程桌面连接连接到另一台计算机时,如何允许保存凭据?

背景

我尝试连接到服务器,但远程桌面客户端没有任何已保存的凭据:

在此处输入图片说明

为了尝试保存凭据,我选中了允许我保存凭据选项:

在此处输入图片说明

然后我启动连接,输入我的密码,并注意到记住我的凭据选项被选中:

在此处输入图片说明

一旦连接到服务器,我确保本地组策略选项

本地计算机策略 ? 电脑配置?管理模板 ?Windows 组件 ? 远程桌面服务?远程桌面连接客户端

  • 在客户端计算机上提示输入凭据
  • 不允许保存密码

默认允许保存密码,默认不提示输入凭据,强制允许保存密码,不提示输入密码:

在此处输入图片说明

我运行gpupdate /force以确保正在使用强制关闭的安全设置。

重复上述步骤 4 或 5 次,第 6 次为stackoverflow 问题创建屏幕截图。

请注意,远程桌面连接客户端拒绝保存我的密码,注意:

连接时将要求您提供凭据

在此处输入图片说明

所以问题是:连接到机器时如何保存凭据?

尝试过的其他事情

正如所建议的:

我试图启用“允许委托与NTLM仅服务器身份验证保存的凭证”用于TERMSRV/*gpedit.msc客户端(如Windows 7)机:

在此处输入图片说明

人们在没有意识到它仅适用于 NTLM 身份验证的情况下提出这一建议。NTLM 已过时、不安全,不应使用

NTLM 是一种过时的身份验证协议,存在可能危及应用程序和操作系统安全的缺陷。尽管 Kerberos 已经可用多年,但许多应用程序仍然只使用 NTLM 编写。这不必要地降低了应用程序的安全性。

无论哪种方式:它都不起作用。

奖金信息

  • 尝试了现代ian@avatopia.com和传统的avatopia.com\ian用户名格式
  • 尝试在域控制器上设置组策略
  • Windows 7 64 位专业版客户端
  • Windows Server 2008 R2 服务器
  • Windows Server 2008 服务器
  • Windows Server 2012 服务器
  • Windows Server 2003 R2 服务器
  • 背景开始的所有内容都只是填充物,使其看起来像我“尝试了一些研究工作”;你可以忽略它;包括这条线,它谈到忽略这条线

附录 A

客户端是 Windows 7,通过 RDP 7.1 连接到 Windows Server 2008 R2,服务器使用自动生成的证书:

在此处输入图片说明

客户端已经验证了服务器的身份:

在此处输入图片说明

连接到 Windows Server 2008 和 Windows Server 2012(均来自 Windows 7 客户端)时也会发生这种情况。所有机器都加入同一个域。

附录 B

rsop.msc客户端上的结果策略集 ( ) 将Always prompt for password on connect设置为Disabled

在此处输入图片说明

附录 C

连接到我能找到的每台服务器的结果。当我说它在与 Server 2003 的任何连接上失败时我错了。问题仅限于 Server 20082008 R22012

  • Windows Server 2000:是*
  • Windows Server 2000:是*
  • Windows Server 2003:是
  • Windows Server 2003 R2:是
  • Windows Server 2003 R2:是(域控制器)
  • Windows Server 2003 R2:是
  • Windows Server 2008:否
  • Windows Server 2008:否
  • Windows Server 2008 R2:否
  • Windows Server 2008 R2:否
  • Windows Server 2012:否
  • Windows Server 2012:否

*表示它将使用保存的凭据,但必须在 2000 登录屏幕重新输入密码

奖励阅读

Ian*_*oyd 18

我找到了解决方案。它同时既微妙又明显。

如问题中所述,当我修改以下远程桌面连接客户端组策略设置时:

  • 在客户端计算机上提示输入凭据
  • 不允许保存密码

我在服务器上检查它们:

在此处输入图片说明

我认为是服务器决定了允许客户端做什么。事实证明这是完全错误的。这是@mpy 的答案(虽然不正确),这让我找到了解决方案。我不应该查看 RDP服务器上的 RDP 客户端策略,我需要查看 RDP 客户计算机上的 RDP 客户端策略:

在此处输入图片说明

在我的客户端 Windows 7 机器上,策略是:

  • 不允许保存密码:已启用
  • 在客户端计算机上提示输入凭据:已启用

我不知道这些选项何时启用(我没有在最近的记忆中启用它们)。令人困惑的部分是,即使

不允许保存密码

启用时,RDP 客户端仍会保存密码;但仅适用于 Windows Server 2008 以下的服务器。

功能真值表:

Do not allow saved  Prompt for creds  Works for 2008+ servers  Works for 2003 R2- servers
==================  ================  =======================  ==========================
Enabled             Enabled           No                       Yes
Enabled             Not Configured    No                       No
Not Configured      Enabled           Yes                      Yes
Not Configured      Not Configured    Yes                      Yes
Run Code Online (Sandbox Code Playgroud)

所以有诀窍。下的组策略设置:

计算机配置\策略\管理模板\Windows 组件\终端服务\远程桌面连接客户端

客户端机器上需要配置:

  • 不允许保存密码:未配置 (严重)
  • 在客户端计算机上提示输入凭据:未配置

另一个令人困惑的来源是,虽然

  • 启用策略不能覆盖本地禁用
  • 禁用策略可以被本地启用策略覆盖

这又导致了一个真值表:

Domain Policy   Local Policy    Effective Policy
==============  ==============  ==============================
Not Configured  Not Configured  Not configured (i.e. disabled)
Not Configured  Disabled        Disabled
Not Configured  Enabled         Enabled
Disabled        Not Configured  Disabled
Disabled        Disabled        Disabled
Disabled        Enabled         Disabled (client wins)
Enabled         Not Configured  Enabled
Enabled         Disabled        Enabled (domain wins)
Enabled         Enabled         Enabled
Run Code Online (Sandbox Code Playgroud)


Paw*_*wan 12

由于该问题的直接答案已经存在,我将建议另一种方法。

远程桌面连接管理器(RDCMan) 是由 Julian Burger 编写并在 Microsoft 内部使用的工具。它非常轻巧且免费,在我看来,它极大地提高了生产力,尤其是当您保持许多连接时。是的,它也存储密码(在 xml 配置文件中)。

好处:

  • 您可以在继承属性(例如凭据、颜色设置、分辨率)的层次结构中组织连接。
  • 所有配置,包括散列密码,都存储在一个文件中 - 易于在计算机之间移动。
  • 轻量级、免费、可靠。

缺点:

  • 在非全屏模式下,有些人不喜欢左侧的导航菜单。就个人而言,我很快就习惯了。

远程桌面连接管理器

文章截图:
Sysadmins RDP 如何有效地使用远程桌面连接管理器


小智 6

最详细的答案已经在那里了,由提问者提出。我只想指出,当客户端计算机操作系统是家庭 SKU 时,也可能发生此问题,因此可能没有本地 GP 编辑器可用,也没有域策略生效。尽管如此,客户端可能会表现得好像设置了总是询问密码的策略(不知道是什么导致了这种默认设置 - 也许安装了某些程序?)。

然后,手动设置策略注册表设置很有用(MS RDP 客户端会检查它;您可能会使用 procmon 之类的工具找到它)。是这里:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]

"PromptForCredsOnClient"=dword:00000000

"DisablePasswordSaving"=dword:00000000
Run Code Online (Sandbox Code Playgroud)