![RemoteApp .rdp 嵌入凭证?](https://linux22.com/image/557333/RemoteApp%20.rdp%20%E5%B5%8C%E5%85%A5%E5%87%AD%E8%AF%81%EF%BC%9F.png)
运行远程桌面服务的 Windows 2008 R2 服务器(过去我们称之为终端服务)。此服务器是托管应用程序的入口点——我想您可以将其称为“软件即服务”。我们有第三方客户端连接来使用它。
使用 RemoteApp Manager 构建 RemoteApp .rdp 快捷方式以分发到客户端工作站。这些工作站与 RDS 服务器不在同一域中。域之间没有信任关系(也不会有)。工作站和 RDS 服务器之间有一个严格控制的站点到站点 VPN,我们非常有信心可以访问锁定的服务器。
正在运行的 remoteApp 是一个具有自己的身份验证方案的 ERP 应用程序。
问题是什么?我试图避免在连接到 RemoteApp 服务器时为每个最终用户创建 AD 登录名。事实上,由于我们正在做一个 remoteApp,他们必须进行身份验证那app,我宁愿根本不提示他们输入 AD 凭据。我当然不希望他们忙于管理他们仅用于访问 ERP 登录的帐户的 AD 密码(和定期过期)。
但是,我不知道如何将 AD 凭据嵌入到 RemoteApp .rdp 文件中。我并不想在那个级别关闭 RDS 服务器上的所有身份验证。
有什么好的选择吗?我的目标是让最终用户尽可能无缝地使用。
欢迎澄清问题。
答案1
可以将密码嵌入 .rdp 文件中,但密码使用本地用户帐户的 SID 进行加密,这样 .rdp 文件就无法在用户或计算机之间互换。这种行为是故意为之的:Microsoft 不希望入侵者仅通过从某人的桌面窃取 .rdp 文件就能获得终端服务器的密钥。
幸运的是,有一个相当完善的解决方法。基本上,您需要通过批处理文件或脚本“动态”创建 .rdp 文件,用户运行该文件或脚本而不是直接调用该文件。您的脚本会创建相应的 .rdp 文件,并在执行过程中以当前用户上下文中接受该mstsc.exe
密码的方式加密该密码。mstsc.exe
资源:
- RDP 密码如何加密(包括源代码和二进制文件)
- 自动创建带密码的 RDP 文件(包括二进制)
- 使用 Python 加密 RDP 密码(含来源)
上述每篇文章都包含可用于加密 RDP 密码的工具链接和/或源代码。如果可行的话,我建议从源代码开始。(一如既往,使用互联网陌生人编译的二进制文件需要您自担风险。)
答案2
嗯...有趣。首先想到的是使用密钥/证书(例如 ssh):
- http://blogs.msdn.com/b/rds/archive/2008/12/04/introduction-to-ts-gateway-certificates.aspx
- http://blogs.msdn.com/b/rds/archive/2008/12/18/ts-gateway-certificates-part-ii-how-to-deploy-a-certificate-on-ts-gateway.aspx
- http://blogs.msdn.com/b/rds/archive/2008/12/18/ts-gateway-certificates-part-iii-connection-time-issues-related-to-ts-gateway-certificates.aspx
这有帮助吗?