RemoteApp .rdp 嵌入憑據?
執行遠端桌面服務的 Windows 2008 R2 伺服器*(我們過去常將其稱為終端服務)*。該伺服器是託管應用程序的入口點——我想您可以將其稱為軟體即服務。我們有 3rd 方客戶端連接使用它。
使用 RemoteApp 管理器建構 RemoteApp .rdp 快捷方式以分發到客戶端工作站。這些工作站與 RDS 伺服器不在同一個域中。域之間沒有信任關係(也不會有)。在工作站和 RDS 伺服器之間有一個嚴格控制的站點到站點 VPN,我們非常有信心我們可以訪問被鎖定的伺服器。
正在執行的 remoteApp 是具有自己的身份驗證方案的 ERP 應用程序。
問題?我試圖避免在連接到 RemoteApp 伺服器時為每個最終使用者創建 AD 登錄名。事實上,由於我們正在做一個遠端應用程序並且他們必須對該應用程序進行身份驗證,我寧願根本不提示他們提供 AD 信用。我當然不希望他們為僅用於登錄 ERP 的帳戶管理 AD 密碼(和定期到期)。
但是,我不知道如何在 RemoteApp .rdp 文件中嵌入 AD 憑據。我真的不想在該級別關閉 RDS 伺服器上的所有身份驗證。
有什麼好的選擇嗎?我的目標是讓最終使用者盡可能無縫。
歡迎澄清問題。
可以在 .rdp 文件中嵌入密碼,但密碼是使用本地使用者帳戶的 SID 加密的,因此 .rdp 文件在使用者或電腦之間不可互換。這種行為是設計使然:Microsoft 不希望入侵者能夠通過從某人的桌面竊取 .rdp 文件來獲取終端伺服器的密鑰。
幸運的是,有一個相當有據可查的解決方法。基本上,您需要通過使用者執行的批處理文件或腳本“即時”創建 .rdp 文件,而不是
mstsc.exe
直接呼叫。mstsc.exe
您的腳本會創建適當的 .rdp 文件,並在此過程中以在目前使用者上下文中接受密碼的方式加密密碼。資源:
- RDP 密碼是如何加密的(包括原始碼和二進製文件)
- 使用密碼自動創建 RDP 文件(包括二進製文件)
- 在 Python 中加密 RDP 密碼(包括原始碼)
上述每篇文章都包含指向可用於加密 RDP 密碼和/或原始碼的工具的連結。如果可行,我建議從原始碼開始工作。(與往常一樣,使用由網際網路陌生人編譯的二進製文件,風險自負。)