Сервер Windows 2008 R2 с запущенными службами удаленных рабочих столов (то, что мы раньше называли службами терминалов). Этот сервер является точкой входа в размещенное приложение - я полагаю, вы могли бы назвать его «Программное обеспечение как услуга». У нас есть сторонние клиенты, подключающиеся для его использования.
Использование RemoteApp Manager для создания ярлыков RemoteApp .rdp для распространения на клиентские рабочие станции. Эти рабочие станции не находятся в том же домене, что и сервер RDS. Между доменами нет доверительных отношений (и не будет). Между рабочими станциями и сервером RDS существует строго контролируемая VPN-сеть между рабочими станциями и сервером RDS, и мы уверены, что у нас есть доступ к заблокированному серверу.
Запускаемое удаленное приложение - это приложение ERP со своей собственной схемой аутентификации.
Проблема? Я пытаюсь избежать необходимости создавать логины AD для каждого конечного пользователя при подключении к серверу RemoteApp. Фактически, поскольку мы делаем удаленное приложение, и они должны пройти аутентификацию который app, я бы лучше не предлагал им вообще никаких кредитов AD. Я, конечно, не хочу, чтобы они занимались управлением паролями AD (и периодическим истечением срока их действия) для учетных записей, которые они используют только для входа в систему ERP.
Однако я не могу понять, как встроить кредиты AD в RDP-файл RemoteApp. Я действительно не хочу отключать всю аутентификацию на сервере RDS на этом уровне.
Есть хорошие варианты? Моя цель - сделать это максимально удобным для конечных пользователей.
Уточняющие вопросы приветствуются.
Можно встроить пароль в файл .rdp, но пароль зашифрован с помощью SID вашей локальной учетной записи таким образом, что файл .rdp не может быть взаимозаменяемым между пользователями или компьютерами. Такое поведение является преднамеренным: Microsoft не хотела, чтобы злоумышленник мог получить ключи к серверу терминалов, просто украв файл .rdp с чьего-либо рабочего стола.
К счастью, есть достаточно хорошо задокументированный обходной путь. По сути, вам нужно создать файл .rdp «на лету» с помощью командного файла или сценария, который пользователь запускает вместо того, чтобы вызывать mstsc.exe
прямо. Ваш сценарий создает соответствующий файл .rdp и при этом шифрует пароль таким образом, чтобы mstsc.exe
примет его в контексте текущего пользователя.
Ресурсы:
Каждая из вышеперечисленных статей включает ссылку на инструмент, который можно использовать для шифрования паролей RDP и / или исходного кода. Я бы посоветовал работать с исходным кодом, если это возможно. (Как всегда, используйте двоичные файлы, скомпилированные незнакомцами в Интернете, на свой страх и риск.)
Хм ... интересно. Первое, что приходит в голову, это использовать ключ / сертификат (например, ssh):
Это помогает?