Службы удаленных рабочих столов — Remote Desktop Services

Содержание

Службы удаленных рабочих столов ( RDS ), известные как службы терминалов в Windows Server 2008 и более ранних версиях , являются одним из компонентов Microsoft Windows, которые позволяют пользователю управлять удаленным компьютером или виртуальной машиной через сетевое соединение. RDS — это реализация Microsoft архитектуры тонких клиентов , в которой программное обеспечение Windows и весь рабочий стол компьютера с RDS доступны для любого удаленного клиентского компьютера, поддерживающего протокол удаленного рабочего стола (RDP). Пользовательские интерфейсы отображаются с сервера на клиентскую систему, а входные данные от клиентской системы передаются на сервер, где происходит выполнение программного обеспечения. Это контрастирует с системами потоковой передачи приложений , такими как Microsoft App-V , в которых компьютерные программы передаются клиенту по запросу и выполняются на клиентском компьютере.

RemoteFX был добавлен в RDS как часть Windows Server 2008 R2 Service Pack 1.

СОДЕРЖАНИЕ

Обзор

Впервые RDS был выпущен как сервер терминалов в Windows NT 4.0 Terminal Server Edition , автономном выпуске Windows NT 4.0, который включал пакет обновления 3 и исправления. Начиная с Windows 2000 , он был интегрирован под названием Terminal Services в качестве дополнительного компонента в серверных выпусках семейства операционных систем Windows NT , получая обновления и улучшения с каждой версией Windows. Затем службы терминалов были переименованы в службы удаленных рабочих столов с Windows Server 2008 R2 в 2009 году.

Windows включает три клиентских компонента, использующих RDS:

Первые две — это отдельные утилиты, которые позволяют пользователю управлять удаленным компьютером по сети. В случае удаленного помощника удаленный пользователь должен получить приглашение, и управление осуществляется совместно. Однако в случае RDC удаленный пользователь открывает новый сеанс на удаленном компьютере и имеет все возможности, предоставленные правами и ограничениями его учетной записи. Быстрое переключение пользователей позволяет пользователям переключаться между учетными записями пользователей на локальном компьютере, не выходя из программного обеспечения и не выходя из системы. Быстрое переключение пользователей является частью Winlogon и использует RDS для выполнения своей функции переключения. Сторонние разработчики также создали клиентское программное обеспечение для RDS. Например, rdesktop поддерживает платформы Unix .

Хотя RDS поставляется с большинством выпусков всех версий Windows NT, начиная с Windows 2000, его функциональные возможности различаются в каждой версии. Windows XP Home Edition вообще не принимает RDC-подключения, оставляя RDS только для быстрого переключения пользователей и удаленного помощника. Другие клиентские версии Windows позволяют подключаться к системе максимум одному удаленному пользователю за счет отключения пользователя, выполнившего вход в консоль. Windows Server позволяет двум пользователям подключаться одновременно. Эта схема лицензирования, называемая «Удаленный рабочий стол для администрирования», упрощает администрирование необслуживаемых или автономных компьютеров . Только после приобретения дополнительных лицензий (помимо лицензии Windows) компьютер под управлением Windows Server может одновременно обслуживать нескольких удаленных пользователей и создавать инфраструктуру виртуальных рабочих столов .

Для организации RDS позволяет ИТ-отделу устанавливать приложения на центральный сервер, а не на несколько компьютеров. Удаленные пользователи могут войти в систему и использовать эти приложения по сети. Такая централизация может упростить обслуживание и устранение неисправностей. Системы проверки подлинности RDS и Windows предотвращают несанкционированный доступ пользователей к приложениям или данным.

Microsoft имеет давнее соглашение с Citrix для облегчения обмена технологиями и лицензирования патентов между Microsoft Terminal Services и Citrix XenApp (ранее Citrix MetaFrame и Citrix Presentation Server ). В этом случае Citrix получает доступ к ключевому исходному коду для платформы Windows, что позволяет его разработчикам повысить безопасность и производительность платформы служб терминалов. В конце декабря 2004 года обе компании объявили о пятилетнем продлении этого соглашения на Windows Vista .

Компоненты сервера

Ключевым серверным компонентом RDS является сервер терминалов ( termdd.sys ), который прослушивает порт TCP 3389. Когда клиент протокола удаленного рабочего стола (RDP) подключается к этому порту, он помечается уникальным идентификатором сеанса и связывается с только что созданным сеансом консоли (сеанс 0, только клавиатура, мышь и интерфейс в символьном режиме). Затем запускается подсистема входа в систему (winlogon.exe) и графическая подсистема GDI , которая выполняет задачу аутентификации пользователя и представления графического интерфейса пользователя. Эти исполняемые файлы загружаются в новом сеансе, а не в сеансе консоли. При создании нового сеанса драйверы графики и клавиатуры / мыши заменяются драйверами для RDP: RdpDD.sys и RdpWD.sys . Это RdpDD.sys драйвер устройства, который фиксирует вызовы визуализации пользовательского интерфейса в формате, который можно передавать по RDP. RdpWD.sys действует как драйвер клавиатуры и мыши; он получает ввод с клавиатуры и мыши по TCP-соединению и представляет их как ввод с клавиатуры или мыши. Это также позволяет создавать виртуальные каналы , которые позволяют перенаправлять другие устройства, такие как диски, аудио, принтеры и COM-порты, т. Е. Каналы действуют как замена для этих устройств. Каналы подключаются к клиенту через TCP-соединение; когда к каналам осуществляется доступ для данных, клиент информируется о запросе, который затем передается по TCP-соединению в приложение. Вся эта процедура выполняется терминальным сервером и клиентом, при этом RDP обеспечивает правильную передачу и полностью прозрачна для приложений. Связь по протоколу RDP зашифрована с использованием 128-битного шифрования RC4 . Windows Server 2003 и более поздние версии могут использовать схемы шифрования, соответствующие FIPS 140 .

Как только клиент инициирует соединение и получает информацию об успешном вызове стека терминальных служб на сервере, он загружает устройство, а также драйверы клавиатуры / мыши. Данные пользовательского интерфейса, полученные по RDP, декодируются и отображаются как пользовательский интерфейс, тогда как ввод с клавиатуры и мыши в окно, в котором находится пользовательский интерфейс, перехватывается драйверами и передается по RDP на сервер. Он также создает другие виртуальные каналы и настраивает перенаправление. Связь RDP может быть зашифрована; с использованием низкого, среднего или высокого уровня шифрования. При низком уровне шифрования вводимые пользователем данные (исходящие данные) шифруются с использованием слабого (40-битного RC4) шифра. При среднем шифровании пакеты UI (входящие данные) также шифруются с использованием этого слабого шифра. При настройке «Высокий уровень шифрования (без экспорта)» используется 128-битное шифрование RC4, а для «Высокого шифрования (экспорт)» используется 40-битное шифрование RC4.

Терминальный сервер

Сервер терминалов — это серверный компонент служб терминалов. Он выполняет работу по аутентификации клиентов, а также делает приложения доступными удаленно. Ему также поручено ограничивать клиентов в соответствии с уровнем доступа, который у них есть. Сервер терминалов соблюдает настроенные политики ограниченного использования программного обеспечения, чтобы ограничить доступность определенного программного обеспечения только для определенной группы пользователей. Информация об удаленном сеансе хранится в специализированных каталогах, называемых каталогом сеансов, который хранится на сервере. Каталоги сеансов используются для хранения информации о состоянии сеанса и могут использоваться для возобновления прерванных сеансов. Терминальный сервер также должен управлять этими каталогами. Терминальные серверы также могут использоваться в кластере .

В Windows Server 2008 он был значительно переработан. При входе в систему, если пользователь вошел в локальную систему с использованием учетной записи домена Windows Server , учетные данные из того же входа могут использоваться для проверки подлинности удаленного сеанса. Однако для этого требуется, чтобы Windows Server 2008 была ОС терминального сервера, тогда как клиентская ОС ограничена Windows Server 2008, Windows Vista и Windows 7 . Кроме того, сервер терминалов можно настроить так, чтобы разрешить подключение к отдельным программам, а не ко всему рабочему столу, с помощью функции RemoteApp . Веб-доступ к службам терминалов (Веб-доступ к службам терминалов) делает сеанс RemoteApp доступным из веб-браузера . Он включает элемент управления веб-частью TS Web Access, который поддерживает список удаленных приложений, развернутых на сервере, и поддерживает этот список в актуальном состоянии. Сервер терминалов также может интегрироваться с диспетчером системных ресурсов Windows для ограничения использования ресурсов удаленными приложениями.

Сервер терминалов управляется оснасткой «Диспетчер сервера терминалов» консоли управления Microsoft . Его можно использовать для настройки требований входа в систему, а также для принудительного выполнения одного экземпляра удаленного сеанса. Его также можно настроить с помощью групповой политики или инструментария управления Windows . Однако он недоступен в клиентских версиях ОС Windows, где сервер предварительно настроен для разрешения только одного сеанса и обеспечения прав учетной записи пользователя в удаленном сеансе без какой-либо настройки.

Шлюз удаленного рабочего стола

Компонент службы шлюза удаленных рабочих столов , также известный как шлюз удаленных рабочих столов , может туннелировать сеанс RDP, используя канал HTTPS . Это увеличивает безопасность RDS за счет инкапсуляции сеанса с помощью TLS. Это также позволяет использовать Internet Explorer в качестве клиента RDP. Официальный клиент MS RDP для macOS поддерживает шлюз удаленных рабочих столов начиная с версии 8. Он также доступен для iOS и Android.

Эта функция была представлена ​​в продуктах Windows Server 2008 и Windows Home Server .

Веб-клиент HTML5 для удаленного рабочего стола

В конце 2018 года Microsoft выпустила веб-клиент HTML5 для удаленного рабочего стола. Клиент позволяет пользователям подключаться к своим удаленным приложениям или к своим удаленным рабочим столам без использования установленного клиента удаленного рабочего стола. Веб-клиент использует защищенный TLS порт 443 и не использует шлюз удаленных рабочих столов для передачи трафика, вместо этого полагаясь исключительно на аспект узла сеанса удаленного рабочего стола служб удаленного рабочего стола.

RemoteApp

RemoteApp (или TS RemoteApp ) — это специальный режим RDS, доступный в Windows Server 2008 R2 и более поздних версиях, где конфигурация удаленного сеанса интегрирована в клиентскую операционную систему. Клиент RDP 6.1 поставляется с Windows XP SP3, KB952155 для пользователей Windows XP SP2, Windows Vista SP1 и Windows Server 2008. Пользовательский интерфейс для RemoteApp отображается в окне над локальным рабочим столом и управляется, как любое другое окно для локальных приложений. . Конечным результатом этого является то, что удаленные приложения ведут себя в значительной степени как локальные приложения. Задача установления удаленного сеанса, а также перенаправления локальных ресурсов удаленному приложению прозрачна для конечного пользователя. В одном сеансе RemoteApp можно запустить несколько приложений, каждое со своими окнами.

RemoteApp можно упаковать в виде .rdp файла или распространить через пакет .msi установщика Windows . При упаковке в виде .rdp файла (который содержит адрес сервера RemoteApp, используемые схемы аутентификации и другие параметры) RemoteApp можно запустить, дважды щелкнув файл. Он вызовет клиент подключения к удаленному рабочему столу, который подключится к серверу и отобразит пользовательский интерфейс. RemoteApp также можно упаковать в базу данных установщика Windows , при установке которой можно зарегистрировать RemoteApp в меню «Пуск», а также создать ярлыки для его запуска. RemoteApp также можно зарегистрировать как обработчик для типов файлов или URI. Открытие файла, зарегистрированного в RemoteApp, сначала вызовет подключение к удаленному рабочему столу, которое подключится к серверу терминалов, а затем откроет файл. Любое приложение, к которому можно получить доступ через удаленный рабочий стол, может использоваться как RemoteApp.

Windows 7 включает встроенную поддержку публикации RemoteApp, но ее необходимо включить вручную в реестре, поскольку в клиентских версиях Microsoft Windows нет консоли управления RemoteApp.

Совместное использование рабочего стола Windows

В Windows Vista и далее, Terminal Services также включает в себя возможность совместного использования рабочего стола многопартийной известную как Windows Desktop Sharing . В отличие от служб терминалов, которые создают новый сеанс пользователя для каждого подключения RDP, общий доступ к рабочему столу Windows может размещать удаленный сеанс в контексте текущего пользователя, вошедшего в систему, без создания нового сеанса и делать рабочий стол или его подмножество доступным. через RDP. Общий доступ к рабочему столу Windows можно использовать для совместного использования всего рабочего стола, определенного региона или конкретного приложения. Совместное использование рабочего стола Windows также можно использовать для совместного использования рабочих столов с несколькими мониторами. При совместном использовании приложений по отдельности (а не всего рабочего стола) управление окнами (независимо от того, развернуты они или развернуты) независимо на стороне сервера и клиента.

Функциональность предоставляется только через общедоступный API , который может использоваться любым приложением для обеспечения функциональности совместного использования экрана. API RDPSession общего доступа к рабочему столу Windows предоставляет два объекта: для сеанса совместного использования и RDPViewer для средства просмотра. Для одного объекта сеанса можно создать несколько объектов средства просмотра. Зритель может быть либо пассивным зрителем, который может просто смотреть приложение, как скринкаст , либо интерактивным зрителем, который может в реальном времени взаимодействовать с удаленным приложением. RDPSession Объект содержит все общие приложения, представленные в виде Application объектов, каждый с Window объектами , представляющими их на экран Windows. Фильтры для отдельных приложений захватывают окна приложения и упаковывают их как Window объекты. Зритель должен пройти аутентификацию, прежде чем он сможет подключиться к сеансу совместного использования. Это делается путем создания файла Invitation с расширением RDPSession . Он содержит билет проверки подлинности и пароль. Объект сериализуется и отправляется зрителям, которым необходимо представить его Invitation при подключении.

API общего доступа к рабочему столу Windows используется Windows Meeting Space и Windows Remote Assistance для обеспечения функциональности совместного использования приложений между сетевыми узлами .

Клиентское программное обеспечение

Подключение к удаленному рабочему столу

Подключение к удаленному рабочему столу (RDC, также называемое удаленным рабочим столом , ранее клиент служб терминалов Microsoft , mstsc или tsclient ) — это клиентское приложение для RDS. Это позволяет пользователю удаленно войти в сетевой компьютер, на котором запущен сервер служб терминалов. RDC представляет интерфейс рабочего стола (или графический интерфейс приложения) удаленной системы, как если бы к нему был доступ локально. Помимо обычного имени пользователя и пароля для авторизации для удаленного сеанса, RDC также поддерживает использование смарт-карт для авторизации. В RDC 6.0 разрешение удаленного сеанса может быть установлено независимо от настроек на удаленном компьютере.

В версии 6.0, если компонент Desktop Experience подключен к удаленному серверу, элементы пользовательского интерфейса удаленного приложения (например, границы окон приложений, кнопки «Развернуть», «Свернуть» и «Закрыть» и т. Д.) Будут иметь тот же вид, что и локальные приложения. В этом сценарии удаленные приложения будут использовать тему Aero, если пользователь подключается к серверу с компьютера под управлением Windows Vista, на котором работает Aero. Более поздние версии протокола также поддерживают рендеринг пользовательского интерфейса в полном 32-битном цвете, а также перенаправление ресурсов для принтеров, COM-портов, дисковых накопителей, мышей и клавиатур. Благодаря перенаправлению ресурсов удаленные приложения могут использовать ресурсы локального компьютера. Аудио также перенаправляется, так что любые звуки, генерируемые удаленным приложением, воспроизводятся в клиентской системе. Более того, удаленный сеанс также может охватывать несколько мониторов в клиентской системе, независимо от настроек нескольких мониторов на сервере. RDC также можно использовать для подключения к удаленным сеансам Windows Media Center (WMC); однако, поскольку WMC не передает потоковое видео по протоколу RDP, таким образом можно просматривать только приложения, а не любые носители.

RDC отдает приоритет данным пользовательского интерфейса, а также вводам с клавиатуры и мыши, в отличие от заданий печати или передачи файлов. чтобы сделать приложения более отзывчивыми. Он перенаправляет устройства plug and play, такие как камеры, портативные музыкальные плееры и сканеры, так что ввод с этих устройств может также использоваться удаленными приложениями. RDC также можно использовать для подключения к компьютерам, которые доступны через шлюз RDP Windows Home Server через Интернет . Наконец, несколько удобных быстрых клавиш

  • Чтобы добиться эффекта Ctrl + Alt + Del на удаленном рабочем столе, вы можете использовать комбинацию клавиш Ctrl + Alt + End .
  • Чтобы переключаться между полноэкранным и оконным режимами удаленного рабочего стола, вы можете использовать Ctrl + Alt + Break ( Ctrl + Fn + Alt + ⇧ Shift на некоторых ноутбуках HP).

Другие клиенты

Microsoft выпускает официальный клиент для множества платформ, отличных от Windows:

  • MacOS: удаленный рабочий стол Microsoft для Mac
  • Android: удаленный рабочий стол Microsoft
  • iOS и iPadOS: удаленный рабочий стол Microsoft

Было множество реализаций клиентов сторонних производителей, которые реализуют подмножества функций Microsoft для ряда платформ. Наиболее распространены:


Источник: ru.abcdef.wiki