Разное

Rdp terminal: Terminals — RDP клиент с менеджером соединений и табами / Хабр

Содержание

Terminals — RDP клиент с менеджером соединений и табами / Хабр

Я работаю системным администратором в одной аутсорсинговой компании. Так уж повелось, что в своей работе я использую, в основном, три программы. Radmin, Secure CRT, и Terminals. Но так было не всегда.
Изначально я использовал radmin и горя не знал, но, в какой то момент, мне надоело набирать пароли, сначала для подключения, а потом для логина. И я начал использовать встроенный в windows клиент — mstsc. Инструмент, конечно, неказистый, и не отличает между собой соединения, если у одного из них указан не стандартный порт подключения, а у второго не указан вовсе. Параллельно я испытывал очень тёплые чувства к Secure CRT, уж больно мне нравится когда соединения разделены табами, и был несказанно удивлён встретив бесплатный RDP клиент с менеджером соединений и табами.

Вот как выглядят табы:

А вот так список подключений с группами:

Тогда ещё это была версия 2.0 (stable), и все соединения хранились в xml файле, который в какой то момент взбрыкнул и все мои соединения потерялись. Но любовь моя не знала границ, я полез на сайт приложения, а он к слову Вот и увидел что разработчики выложили бета версию 3.0 и призывают народ её тестировать. И что самое важное — появилась возможность хранить соединения в базе MS SQL. Так как мой системный раздел бекапится с помощью acronis, а он (по слухам) перестал спотыкаться на mdf файлах, начиная версии с 11-ой (по-моему), меня хранение соединений в базе вполне устраивало. Далее последовали баг репорты, ожидания новых версий, и вот, буквально сегодня, все те баги что не давали мне, со спокойной совестью, рекомендовать это приложение, были исправлены. Если вдруг, а я очень на это надеюсь, читатели заинтересуются этим приложением — я готов помочь, всем чем смогу. Да и разработчики отвечают на почту, ведут вполне живое общение в разделах issues и discussions.

Опишу некоторые особенности, которые мне приглянулись:

  1. Создание групп. Например группа «ООО „Рога“, и в этой группе все сервера этой компании.
  2. Задание „default user“ и „default password“. Как глобально, так и для отдельно взятой группы. Функция позволяет использовать „default“ записи без ввода логина и пароля при создании каждого соединения.
  3. Возможность копировать соединения. Она сейчас спрятана в разделе „Organize favorites“, что достаточно не логично, но вполне работоспособно.
  4. Можно создать записи логин/пароль/домен, и в последующем использовать эти связки в свойствах соединений.
  5. Возможность использовать master password для запуска программы, ибо пароли шифруются и без этой опции.

Судя по опциям программа умеет работаеть с Proxy, хранить бекап соединений в Amazon S3, но проверить это возможности у меня нет.

Конечно есть у программы и недочеты, но не надо забывать 3.0 всё ещё бета. Да и я, личность достаточно привередливая, и мне не просто угодить, однако случилось таки.

По сути, это не только RDP клиент, но я знаком с этой программой исключительно в вопросах RDP.

P.S. Хочу сказать, тем кто собирается испробовать приложение.

Вам пригодятся следующие ноухау:

1 — я использовал SQL Express r2 with Management Tools Брал тут

2 — База создается с помощью скрипта „Terminals_CreateDatabase_v3.0.sql“ Брал тут

3 — Начиная с версии приложения „Terminals.Release.3.0.1.180“, надо обновить схему базы использовав „UpdateCredentialBase.sql“ Брал тут

P.S. Разработчиком не являюсь, а просто хочу поделиться программой которая мне очень понравилась.

Terminal Services Manager удобное управление пользователями RDS

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов для системных администраторов Pyatilistnik.org. В прошлый раз мы с вами подробно рассматривали методы, как отформатировать флешку под разного рода задачи. Сегодня я вам хочу показать еще одну утилиту из моего инструментария, которая помогает вам легко управлять пользовательскими сессиями на терминальных серверах RDS фермы. Речь пойдет, о бесплатной утилите Terminal Services Manager. После того, как вы узнаете ее возможности и простоту использования, то вы обязательно будите ее использовать.

Что такое Terminal Services Manager

После появления операционной системы Windows Server 2012 R2 концепция по управлению терминальными столами претерпела изменения. Появилось такое понятие, как RDS ферма, которая пришла на замену серверу терминалов.

С одной стороны данная концепция принесла плюсы, например удобный ввод RDSH хоста в режим стока (drain mode), но не обошлось и без минусов. Так оснастка по управлению RDS фермой лишилась ряда удобный функций, например массовому отправлению сообщений пользователям в их терминальную сессию, сейчас уже просто нельзя выбрать несколько человек, как это было в оснастке «Диспетчер служб удаленных рабочих столов» или удобной настройке списка серверов лицензирования, как в оснастке «Конфигурация сервера узла сеансов удаленных рабочих столов«.

В старых оснастках Tsconfig.msc и Tsadmin.msc вы легко могли отключать отдельные процессы пользователей, смотреть потребление ресурсов, удобно их разлогинивать, понятно. что все это можете делать через утилиты qwinsta или rwinsta, но кому-то командная строка может показаться сложной. Все эти задачи легко решает Terminal Services Manager, это прекрасная утилита для серверов на базе WindowsServer 2012 R2 и выше.

Так же с помощью утилит Windows Admin Center и Remote Desktop Connection Manager сильно упростить свое системное администрирование по настройке и управлению серверами. Советую посмотреть обзорные статьи, что я уже рассматривал

Где скачать Terminal Services Manager

Terminal Services Manager показывает, какой пользователь подключен к удаленному хосту, какие процессы он выполняет и сколько ресурсов сервера (процессор и память) он использует. Вы можете отправлять пользователям сообщения, отключать их от сервера или подключаться к их сеансам удаленно. С помощью Terminal Services Manager вы можете отправлять массовые сообщения пользователям, отключать незанятых пользователей и завершать сеансы нескольких отключенных пользователей одновременно. Terminal Services Manager позволяет работать с несколькими хостами одновременно. Диспетчер служб терминалов отображает информацию как в виде таблицы, так и путем построения графиков использования ЦП, памяти и других ресурсов для каждого сервера, сеанса и пользователя.

Управление пользователями:

  • Подключиться к сеансу пользователя
  • Отключить пользователя от сеанса
  • Выйти из сеанса пользователя
  • Пакетный выход из системы или отключение от сервера всех, неактивных или отключенных пользователей
  • Удаленное управление сеансом пользователя
  • Отправка сообщения выбранным пользователям
  • Завершение процесса, который работает
  • Удалить профили пользователей удаленно
  • Включить или отключить удаленный рабочий стол на удаленных компьютерах
  • Аудит действий пользователей
  • Мониторинг неудачных попыток входа

Загрузить Terminal Services Manager вы можете по официальной ссылке — https://lizardsystems.com/terminal-services-manager/ или у меня с сайта

На выходе у вас будет исполняемый файл tsmanager_setup_3.4.0.251.exe.

Установка Terminal Services Manager

Запускаем исполняемый файл, я это делаю на своей тестовой виртуальной машине с Windows Server 2019. Первое что вас спросят, это в каком режиме вы решили установить утилиту TSM. На выбор будет два варианта:

  • Install for all users — Установка для всех пользователей данного компьютера
  • Install for me only — Установка Terminal Services Manager исключительно для вас на данном компьютере

Далее вам нужно принять лицензионное соглашение, выбрав пункт «I accept the agreement» и нажать «next«.

На следующем шаге вы можете изменить каталог установки TSM, я оставлю все по умолчанию.

Оставьте галку на пункте «Create a desktop shortcut«, чтобы у вас был создан ярлык на рабочем столе.

Для завершения инсталляции Terminal Services Manager нажмите кнопку «Install«.

Запускаем Terminal Services Manager.

Настройка бесплатной лицензии Terminal Services Manager

После того, как вы войдете в утилиту у вас появится окно «This is unregistered evaluation version of TSM». Для получения бесплатной лицензии нажмите «Get license key«.

Нам нужна персональная лицензия (personal License Free), нажмите кнопку «Get License«.

Заполните все поля регистрационной формы, учтите, что почту нужно указывать существующую, на нее придет лицензия.

Проверьте свою почту, вам должно прийти вот такое письмо «Free license code for Terminal Services Manager Personal License«, там будет лицензионный ключ.

Далее копируем код и нажимаем в TSM 3.4 кнопку «Enter license key».

Заполните поля «License to» и «License Key«. Terminal Services Manager будет активирован.

Настройка Terminal Services Manager 3.4

Далее у вас появится окно мастера по поиску компьютеров, вы можете воспользоваться мастером, но я предпочитаю добавлять все в ручную, но для полноты статьи я покажу работу мастера.

В окне «Add Computers Wizard» вы можете выбрать 4 уровня поиска:

  1. Network — будет про сканирована ваша текущая сеть
  2. Active Directory — поиск по активному каталогу
  3. IP Range — вы задаете диапазон ip-адресов
  4. File — Тут вы указываете путь до текстового файла со списком серверов

Я закрою мастер по поиску серверов и сделаю все вручную, я так предпочитаю больше. Давайте посмотрим основные функции Terminal Services Manager, пробежимся по значкам:

  • Первая кнопка в виде волшебной палочки , это вызов мастера по поиску серверов  
  • Далее идет иконка создания новой группы, можно провести аналогию с папкой, которая будет содержать в себе список серверов по определенным критериям  
  • Иконка в виде компьютера с зеленым плюсом поможет вам добавить новый компьютер  

Первым делом я создам группу серверов по имени RDS.

Далее вы добавляете новый компьютер через кнопку сверху или же через правый клик по группе.

После того, как сервер добавлен в группу, вы в режиме реального времени начинаете получать различную полезную информацию и взаимодействовать с ним. Первая вкладка у сервера в Terminal Services Manager будет «Servers«. Она покажет вам:

  • Имя сервера
  • Использование CPU
  • Использование памяти
  • Доступная память
  • Количество запущенных процессов
  • Количество сессий
  • Количество пользователей
  • Количество активных пользователей
  • Количество ожидающих пользователей
  • Количество отключенных пользователей, у которых висит сессия в статусе disconnected
  • Вывод графика

Если вы кликните по нужному серверу правым кликом, то в контекстном меню вы увидите огромное количество пунктов, позволяющих вам его администрировать:

  • Remote desctop — позволит вам произвести подключение к удаленному рабочему столу через вам встроенный клиент Windows
  • Send message to all users — отправить сообщение всем пользователям
  • Enable or Disable Remote Desctop — включить или выключить возможность подключения по RDP
  • Disconnect users — отключить всех пользователей с хоста, именно дисконект, сама сессия останется жить, полного завершения не будет
  • Disconnect idle users — отключить пользователей через определенное время
  • Log off users — сделать выход из системы всем пользователям
  • Log off idle users — сделать выход из системы всем пользователям через определенное время
  • Log off disconnected users — сделать выход из системы только пользователям у кого статус «отключен«
  • User’s activities — показывает время входа и отключения пользователя
  • Failed logons — показывает неудачные попытки входа на удаленный рабочий стол
  • User profiles — показывает информацию, где хранится профиль пользователя и время его изменения
  • Reboot server — отправить сервер в перезагрузку
  • Power Off server — выключить сервер
  • Administrative tools — запуск различных оснасток: проводника Windows, RDP в режиме /admin, чтобы подключаться к нужному хосту RDS фермы, управление компьютером, просмотр событий, общие папки, управление пользователями.
  • Если нажать «Manage tools«, то у вас будет возможность добавить еще оснасток.

  • Refresh server — обновить данные с сервера
  • Refresh all servers — обновить данные со всех серверов

График показывает данные в режиме реального времени по процессору, памяти, пользователям, сессиям, процессам. Переходим на вкладку «Users». Тут Terminal Services Manager подробно вам покажет данные:

  • Общий список пользователей
  • Логины
  • Имя серверу куда подключены
  • Количество запущенных процессов
  • Используемая память
  • Номер сессии (Session ID)
  • Тип сессии (RDP-T или Console)
  • Время подключения
  • Активность
  • Время простоя
  • Имя клиентского компьютера
  • IP-адрес клиентского компьютера
  • Разрешение экрана клиентского компьютера
  • График использования ресурсов

Если вы щелкните правым кликом по нужному пользователю или пользователям, то сможете произвести с ними вот такие действия:

  • Disconnect — сделать отключение сессии, но она останется в системе
  • Send message — отправка сообщения

  • Shadow — теневое подключение, только к одному пользователю
  • Reset — это полный сброс сессии (Выход из системы)

Переходим на вкладку процессов «Processes«, Terminal Services Manager действительно великолепный инструмент и позволяет тут в удобном виде отобразить все процессы терминального сервера по каждому пользователю. Тут вы легко можете построить по ним график, или произвести поиск по многим критериям.

  • Process Name — имя процесса
  • PID
  • Server
  • Session ID
  • User
  • User SID
  • CPU Usage
  • CPU Time
  • Peak Mem Usage
  • Pagefile Usage- использование файла подкачки
  • Peak Pagefile Usage
  • Threads (https://ru.wikipedia.org/wiki/Поток_выполнения)
  • Handles

Если вы выберете один или несколько процессов. то через правый клик вы сможете их легко завершить.

Не забывайте делать резервную копию ваших добавленных компьютеров, через File-Export-Computer List

Вот пример RDS фермы из 23 хостов.

Минусы Terminal Services Manager

Хотя программа обладает огромным списком полезных функций, она не лишена недочетов:

  1. На вкладке пользователи мне не хватает поля поиска, чтобы я среди большого списка сотрудников нашел нужного мне, очень не удобно пролистывать большой список
  2. Утилита начинает подвисать когда добавляешь в нее много серверов или большое количество сессий на них

На этом у меня все, как видите Terminal Services Manager имеет огромный функционал и очень полезен для администрирования RDS фермой на базе Windows Server 2012 R2 и выше. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Справочник по средствам командной строки для службы удаленных рабочих столов (службы терминалов)

changechangeИзменяет параметры сервера узла сеансов удаленный рабочий стол для входа, сопоставления COM-портов и режима установки.Changes the Remote Desktop Session Host server settings for sign in, COM port mappings, and install mode.
change logonchange logonВключает или отключает вход из сеансов клиента на удаленный рабочий стол сервере узла сеансов или отображает текущее состояние входа в систему.Enables or disables logons from client sessions on an Remote Desktop Session Host server, or displays current logon status.
change portchange portПеречисление или изменение сопоставления COM-портов для совместимости с приложениями MS-DOS.Lists or changes the COM port mappings to be compatible with MS-DOS applications.
change userchange userИзменяет режим установки для сервера узла сеансов удаленный рабочий стол.Changes the install mode for the Remote Desktop Session Host server.
chglogonchglogonВключает или отключает вход из сеансов клиента на удаленный рабочий стол сервере узла сеансов или отображает текущее состояние входа в систему.Enables or disables logons from client sessions on an Remote Desktop Session Host server, or displays current logon status.
chgportchgportПеречисление или изменение сопоставления COM-портов для совместимости с приложениями MS-DOS.Lists or changes the COM port mappings to be compatible with MS-DOS applications.
chgusrchgusrИзменяет режим установки для сервера узла сеансов удаленный рабочий стол.Changes the install mode for the Remote Desktop Session Host server.
flattempflattempВключает или отключает плоские временные папки.Enables or disables flat temporary folders.
logofflogoffВыписывает пользователя из сеанса на удаленный рабочий стол сервере узла сеансов и удаляет сеанс с сервера.Signs out a user from a session on an Remote Desktop Session Host server and deletes the session from the server.
msgmsgОтправляет сообщение пользователю на сервере узла сеансов удаленный рабочий стол.Sends a message to a user on an Remote Desktop Session Host server.
mstscmstscСоздает подключения к удаленный рабочий стол серверам узлов сеансов или другим удаленным компьютерам.Creates connections to Remote Desktop Session Host servers or other remote computers.
qappsrvqappsrvОтображает список всех удаленный рабочий стол серверов узлов сеансов в сети.Displays a list of all Remote Desktop Session Host servers on the network.
qprocessqprocessОтображает сведения о процессах, выполняемых на сервере узла сеансов удаленный рабочий стол.Displays information about processes that are running on an Remote Desktop Session Host server.
запросqueryОтображает сведения о процессах, сеансах и удаленный рабочий стол серверах узлов сеансов.Displays information about processes, sessions, and Remote Desktop Session Host servers.
query processquery processОтображает сведения о процессах, выполняемых на сервере узла сеансов удаленный рабочий стол.Displays information about processes that are running on an Remote Desktop Session Host server.
query sessionquery sessionОтображает сведения о сеансах на сервере узла сеансов удаленный рабочий стол.Displays information about sessions on an Remote Desktop Session Host server.
query termserverquery termserverОтображает список всех удаленный рабочий стол серверов узлов сеансов в сети.Displays a list of all Remote Desktop Session Host servers on the network.
query userquery userОтображает сведения о пользовательских сеансах на сервере узла сеансов удаленный рабочий стол.Displays information about user sessions on an Remote Desktop Session Host server.
quserquserОтображает сведения о пользовательских сеансах на сервере узла сеансов удаленный рабочий стол.Displays information about user sessions on an Remote Desktop Session Host server.
qwinstaqwinstaОтображает сведения о сеансах на сервере узла сеансов удаленный рабочий стол.Displays information about sessions on an Remote Desktop Session Host server.
rdpsignrdpsignПозволяет подписать файл протокол удаленного рабочего стола (. RDP).Enables you to digitally sign a Remote Desktop Protocol (.rdp) file.
reset sessionreset sessionПозволяет сбросить (удалить) сеанс на удаленный рабочий стол сервере узла сеансов.Enables you to reset (delete) a session on an Remote Desktop Session Host server.
rwinstarwinstaПозволяет сбросить (удалить) сеанс на удаленный рабочий стол сервере узла сеансов.Enables you to reset (delete) a session on an Remote Desktop Session Host server.
shadowshadowПозволяет удаленно управлять активным сеансом другого пользователя на удаленный рабочий стол сервере узла сеансов.Enables you to remotely control an active session of another user on an Remote Desktop Session Host server.
tscontsconПодключается к другому сеансу на удаленный рабочий стол сервере узла сеансов.Connects to another session on an Remote Desktop Session Host server.
tsdiscontsdisconОтключает сеанс от сервера узла сеансов удаленный рабочий стол.Disconnects a session from an Remote Desktop Session Host server.
tskilltskillЗавершает процесс, выполняющийся в сеансе на удаленный рабочий стол сервере узла сеансов.Ends a process running in a session on an Remote Desktop Session Host server.
tsproftsprofКопирует службы удаленных рабочих столов сведения о конфигурации пользователя из одного пользователя в другой.Copies the Remote Desktop Services user configuration information from one user to another.

Поддерживаемые параметры RDP-файла удаленного рабочего стола

audiocapturemode:i:valueaudiocapturemode:i:valueПеренаправление микрофона.Microphone redirection:Указывает, включено ли перенаправление ввода звука.Indicates whether audio input redirection is enabled.— 0: отключение записи звука с локального устройства.- 0: Disable audio capture from the local device- 1: включение записи звука с локального устройства и перенаправления в приложение обработки звука в удаленном сеансе.- 1: Enable audio capture from the local device and redirection to an audio application in the remote session00ДаYes
encode redirected video capture:i:valueencode redirected video capture:i:valueВключает или отключает кодирование перенаправленного видео.Enables or disables encoding of redirected video.— 0: отключить кодирование перенаправленного видео- 0: Disable encoding of redirected video- 1: включить кодирование перенаправленного видео- 1: Enable encoding of redirected video11ДаYes
redirected video capture encoding quality:i:valueredirected video capture encoding quality:i:valueУправляет качеством закодированного видео.Controls the quality of encoded video.— 0: видео с высокой степенью сжатия.- 0: High compression video. Качество может снизиться, если в кадре часто присутствует движение.Quality may suffer when there is a lot of motion. — 1: средняя степень сжатия.- 1: Medium compression.- 2: видео с низкой степенью сжатия и высоким качеством изображения.- 2: Low compression video with high picture quality.00ДаYes
audiomode:i:valueaudiomode:i:valueРасположение аудиовыхода.Audio output location:Определяет, воспроизводит ли звук локальный или удаленный компьютер.Determines whether the local or remote machine plays audio.— 0: воспроизведение звуков на локальном компьютере («Воспроизвести на этом компьютере»).- 0: Play sounds on the local computer (Play on this computer)- 1: воспроизведение звуков на удаленном компьютере («Воспроизвести на удаленном компьютере»).- 1: Play sounds on the remote computer (Play on remote computer)- 2: отключение звука (Не воспроизводить).- 2: Do not play sounds (Do not play)00ДаYes
camerastoredirect:s:valuecamerastoredirect:s:valueПеренаправление камеры.Camera redirection:Позволяет настроить перенаправляемые камеры.Configures which cameras to redirect. В этом параметре используется разделенный точкой с запятой список интерфейсов KSCATEGORY_VIDEO_CAMERA камер, для которых включено перенаправление.This setting uses a semicolon-delimited list of KSCATEGORY_VIDEO_CAMERA interfaces of cameras enabled for redirection.— * : перенаправлять все камеры- * : Redirect all cameras — список камер, например camerastoredirect:s:\?\usb#vid_0bda&pid_58b0&mi.- List of cameras, such as camerastoredirect:s:\?\usb#vid_0bda&pid_58b0&mi— если нужно исключить конкретную камеру, добавьте перед строкой символической ссылки символ -.- One can exclude a specific camera by prepending the symbolic link string with «-«Не перенаправлять камеры.Don’t redirect any camerasДаYes
devicestoredirect:s:valuedevicestoredirect:s:valueПеренаправление устройств Plug and Play.Plug and play device redirection:Определяет, какие устройства на локальном компьютере будут перенаправлены в удаленный сеанс.Determines which devices on the local computer will be redirected and available in the remote session.– *: перенаправлять все поддерживаемые устройства, включая подключенные позже;- *: Redirect all supported devices, including ones that are connected later — допустимый идентификатор оборудования для одного или нескольких устройств.- Valid hardware ID for one or more devices — DynamicDevices. Перенаправлять все поддерживаемые устройства, подключенные позже.- DynamicDevices: Redirect all supported devices that are connected laterНе перенаправлять устройства.Don’t redirect any devicesДаYes
drivestoredirect:s:valuedrivestoredirect:s:valueПеренаправление диска или хранилища.Drive/storage redirection:Определяет, какие диски на локальном компьютере будут перенаправлены и доступны в удаленном сеансе.Determines which disk drives on the local computer will be redirected and available in the remote session.Значение не указано: перенаправление дисков не используется.- No value specified: don’t redirect any drives- * : перенаправление всех дисков, включая диски, которые будут подключены позже.- * : Redirect all disk drives, including drives that are connected laterDynamicDrives: перенаправление всех дисков, которые будут подключены позже.- DynamicDrives: redirect any drives that are connected later– Диск и метки для одного или нескольких дисков, например «drivestoredirect:s:C:;E:;»: перенаправление указанных дисков.- The drive and labels for one or more drives, such as «drivestoredirect:s:C:;E:;»: redirect the specified drive(s)Не перенаправлять диски.Don’t redirect any drivesДаYes
keyboardhook:i:valuekeyboardhook:i:valueОпределяет, работают ли сочетания клавиш Windows (клавиша Win, Alt+Tab) при подключении к удаленному сеансу рабочего стола.Determines when Windows key combinations (WIN key, ALT+TAB) are applied to the remote session for desktop connections.— 0: Сочетания клавиш Windows работают на локальном компьютере.- 0: Windows key combinations are applied on the local computer- 1: Сочетания клавиш Windows работают на удаленном компьютере, если он в фокусе.- 1: Windows key combinations are applied on the remote computer when in focus- 2: Сочетания клавиш Windows работают на удаленном компьютере только в полноэкранном режиме.- 2: Windows key combinations are applied on the remote computer in full screen mode only22ДаYes
redirectclipboard:i:valueredirectclipboard:i:valueПеренаправление буфера обмена.Clipboard redirection:Определяет, включено ли перенаправление буфера обмена.Determines whether clipboard redirection is enabled.— 0: буфер обмена на локальном компьютере недоступен в удаленном сеансе.- 0: Clipboard on local computer isn’t available in remote session- 1: буфер обмена на локальном компьютере доступен в удаленном сеансе.- 1: Clipboard on local computer is available in remote session11ДаYes
redirectcomports:i:valueredirectcomports:i:valueПеренаправление портов COM.COM ports redirection:Определяет, будут ли порты COM (серийные порты) на локальном компьютере перенаправляться и доступны в удаленном сеансе.Determines whether COM (serial) ports on the local computer will be redirected and available in the remote session.— 0: Порты COM на локальном компьютере недоступны в удаленном сеансе.- 0: COM ports on the local computer are not available in the remote session- 1: Порты COM на локальном компьютере доступны в удаленном сеансе.- 1: COM ports on the local computer are available in the remote session00ДаYes
redirectprinters:i:valueredirectprinters:i:valueПеренаправление принтеров.Printer redirection:Определяет, будут ли принтеры, настроенные на локальном компьютере, перенаправлены и доступны в удаленном сеансе.Determines whether printers configured on the local computer will be redirected and available in the remote session— 0: принтеры на локальном компьютере недоступны в удаленном сеансе.- 0: The printers on the local computer are not available in the remote session- 1: принтеры на локальном компьютере доступны в удаленном сеансе.- 1: The printers on the local computer are available in the remote session11ДаYes
redirectsmartcards:i:valueredirectsmartcards:i:valueПеренаправление смарт-карт.Smart card redirection:Определяет, будут ли устройства чтения смарт-карт, настроенные на локальном компьютере, перенаправлены и доступны в удаленном сеансе.Determines whether smart card devices on the local computer will be redirected and available in the remote session.— 0: устройства смарт-карт на локальном компьютере недоступны в удаленном сеансе.- 0: The smart card device on the local computer is not available in the remote session- 1: устройства смарт-карт на локальном компьютере доступны в удаленном сеансе.- 1: The smart card device on the local computer is available in the remote session11ДаYes
usbdevicestoredirect:s:valueusbdevicestoredirect:s:valueПеренаправление USBUSB redirection– *: Перенаправлять все устройства USB, которые еще не перенаправлены другим высокоуровневым перенаправлением.- *: Redirect all USB devices that are not already redirected by another high-level redirection — {Device Setup Class GUID}: Перенаправлять все устройства, которые являются членами указанного класса настройки устройств.- {Device Setup Class GUID}: Redirect all devices that are members of the specified device setup class — USBInstanceID: Перенаправлять определенное устройство USB, указанное с помощью идентификатора экземпляра.- USBInstanceID: Redirect a specific USB device identified by the instance IDНе перенаправлять устройства USBDon’t redirect any USB devicesДаYes

Протокол Remote Desktop. Архитектура и возможности

Протокол Remote Desktop. Архитектура и возможности

Данная статья открывает цикл статей, посвященных устройству и безопасности протокола RDP. В первой статье этого цикла анализируется устройство, использование и основные технологии, заложенные в данный протокол.

Автор: Сергей Рублев

Эксперт по информационной безопасности «Positive Technologies»

Данная статья открывает цикл статей, посвященных устройству и безопасности протокола RDP. В первой статье этого цикла анализируется устройство, использование и основные технологии, заложенные в данный протокол.

В следующих статьях будут подробно рассмотрены следующие вопросы:

  • Работа подсистемы безопасности Remote Desktop
  • Формат обмена служебной информацией в RDP
  • Уязвимые места сервера терминалов и пути их устранения
  • Подбор учетных записей пользователей по RDP протоколу (разработки компании Positive Technologies в данной области)

 

Протокол Remote Desktop создан компанией Microsoft для обеспечения удаленного доступа к серверам и рабочим станциям Windows. Протокол RDP рассчитан на использование ресурсов высокопроизводительного сервера терминалов многими менее производительными рабочими станциями. Впервые сервер терминалов (версия 4.0) появился в 1998 году в составе Windows NT 4.0 Terminal Server, на момент написания статьи (январь 2009 года) последней версией терминального сервера является версия 6.1, включенная в дистрибутивы Windows 2008 Server и Windows Vista SP1. В настоящее время RDP является основным протоколом удаленного доступа для систем семейства Windows, а клиентские приложения существуют как для OC от Microsoft, так и для Linux, FreeBSD, MAC OS X и др.

Говоря об истории появления RDP, нельзя не упомянуть компанию Citrix. Citrix Systems в 1990-х годах специализировалась на многопользовательских системах и технологиях удаленного доступа. После приобретения лицензии на исходные коды Windows NT 3.51 в 1995 году эта компания выпустила многопользовательскую версию Windows NT, известную как WinFrame. В 1997 году Citrix Systems и Microsoft заключили договор, по которому многопользовательская среда Windows NT 4.0 базировалась на технологических разработках Citrix. В свою очередь Citrix Systems отказалась от распространения полноценной операционной системы и получала право на разработку и реализацию расширений для продуктов Microsoft. Данные расширения изначально назывались MetaFrame. Права на ICA (Independent Computing Architecture), прикладной протокол взаимодействия тонких клиентов с сервером приложений Citrix, остались за Citrix Systems, а протокол Microsoft RDP строился на базе ITU T.120.

В настоящее время основная конкурентная борьба между Citrix и Microsoft разгорелась в области серверов приложений для малого и среднего бизнеса. Традиционно решения на базе Terminal Services выигрывают в системах с не очень большим количеством однотипных серверов и схожих конфигураций, в то время как Citrix Systems прочно обосновалась на рынке сложных и высокопроизводительных систем. Конкуренция подогревается выпуском облегченных решений для небольших систем компанией Citrix и постоянным расширением функционала Terminal Services со стороны Microsoft. [11]


Рассмотрим преимущества этих решений.


Сильные стороны Terminal Services:

  • Простота установки приложений для клиентской части сервера приложений
  • Централизованное обслуживание сессий пользователя
  • Необходимость наличия лицензии только на Terminal Services

Сильные стороны решений Citrix:

  • Простота масштабирования
  • Удобство администрирования и мониторинга
  • Политика разграничение доступа
  • Поддержка корпоративных продуктов сторонних разработчиков (IBM WebSphere, BEA WebLogic)

Microsoft предполагает два режима использования протокола RDP:

  • для администрирования (Remote administration mode)
  • для доступа к серверу приложений (Terminal Server mode)

RDP в режиме администрирования

Данный вид соединения используется всеми современными операционными системами Microsoft. Серверные версии Windows поддерживают одновременно два удаленных подключения и один локальный вход в систему, в то время как клиентские — только один вход (локальный или удаленный). Для разрешения удаленных подключений требуется включить удаленный доступ к рабочему столу в свойствах рабочей станции. [5]

RDP в режиме доступа к серверу терминалов

Данный режим доступен только в серверных версиях Windows. Количество удаленных подключений в данном случае не лимитируется, но требуется настройка сервера лицензий (License server) и его последующая активация. Сервер лицензий может быть установлен как на сервер терминалов, так и на отдельный сетевой узел. Возможность удаленного доступа к серверу терминалов открывается только после установки соответствующих лицензий на License server.

При использовании кластера терминальных серверов и балансировки нагрузки требуется установка специализированного сервера подключений (Session Directory Service). Данный сервер индексирует пользовательские сессии, что позволяет выполнять вход, а также повторный вход на терминальные серверы, работающие в распределенной среде. [5]

Remote Desktop является прикладным протоколом, базирующимся на TCP. После установки соединения на транспортном уровне инициализируется RDP- сессия, в рамках которой согласуются различные параметры передачи данных. После успешного завершения фазы инициализации сервер терминалов начинает передавать клиенту графический вывод и ожидает входные данные от клавиатуры и мыши. В качестве графического вывода может выступать как точная копия графического экрана, передаваемая как изображение, так и команды на отрисовку графических примитивов ( прямоугольник, линия, эллипс, текст и др.). Передача вывода с помощью примитивов является приоритетной для протокола RDP, так как значительно экономит трафик; а изображение передается лишь в том случае, если иное невозможно по каким-либо причинам (не удалось согласовать параметры передачи примитивов при установке RDP -сессии). RDP- клиент обрабатывает полученные команды и выводит изображения с помощью своей графической подсистемы. Пользовательский ввод по умолчанию передается при помощи скан-кодов клавиатуры. Сигнал нажатия и отпускания клавиши передается отдельно при помощи специального флага. [1][2]

RDP поддерживает несколько виртуальных каналов в рамках одного соединения, которые могут использоваться для обеспечения дополнительного функционала:

  • использование принтера или последовательного порта
  • перенаправление файловой системы
  • поддержка работы с буфером обмена
  • использование аудио- подсистемы

Характеристики виртуальных каналов согласуются на этапе установки соединения.

Обеспечение безопасности при использовании RDP

Спецификация протокола RDP предусматривает использование одного из двух подходов к обеспечению безопасности:

  • Standard RDP Security (встроенная подсистема безопасности)
  • Enhanced RDP Security (внешняя подсистема безопасности)

При данном подходе аутентификация, шифрование и обеспечение целостности реализуется средствами, заложенными в RDP- протокол. [1]

Аутентификация

Аутентификация сервера выполняется следующим образом:

  1. При старте системы генерируется пара RSA- ключей
  2. Создается сертификат (Proprietary Certificate) открытого ключа
  3. Сертификат подписывается RSA- ключом, зашитым в операционную систему (любой RDP -клиент содержит открытый ключ данного встроенного RSA- ключа). [12]
  4. Клиент подключается к серверу терминалов и получает Proprietary Certificate
  5. Клиент проверяет сертификат и получает открытый ключ сервера (данный ключ используется в дальнейшем для согласования параметров шифрования)

Аутентификация клиента проводится при вводе имени пользователя и пароля.

Шифрование

В качестве алгоритма шифрования выбран потоковый шифр RC4. В зависимости от версии операционной системы доступны различные длины ключа от 40 до 168 бит.

Максимальная длина ключа для операционных систем Winodws:

  • Windows 2000 Server – 56 бит
  • Windows XP, Windows 2003 Server – 128 бит
  • Windows Vista, Windows 2008 Server – 168 бит

При установке соединения после согласования длины генерируется два различных ключа: для шифрования данных от клиента и от сервера.

Целостность

Целостность сообщения достигается применением алгоритма генерации MAC (Message Authentication Code) на базе алгоритмов MD5 и SHA1.

Начиная с Windows 2003 Server, для обеспечения совместимости с требованиями стандарта FIPS (Federal Information Processing Standard) 140-1 возможно использование алгоритма 3DES для шифрования сообщений и алгоритма генерации MAC, использующего только SHA1, для обеспечения целостности. [15]

В данном подходе используются внешние модули обеспечения безопасности:

Протокол TLS можно использовать, начиная с версии Windows 2003 Server, но только если его поддерживает RDP- клиент. Поддержка TLS добавлена, начиная с RDP -клиента версии 6.0.

При использовании TLS сертификат сервера можно генерировать средствами Terminal Sercives или выбирать существующий сертификат из хранилища Windows. [13][16]

Протокол CredSSP представляет собой совмещение функционала TLS, Kerberos и NTLM.

Рассмотрим основные достоинства протокола CredSSP:

  • Проверка разрешения на вход в удаленную систему до установки полноценного RDP- соединения, что позволяет экономить ресурсы сервера терминалов при большом количестве подключений
  • Надежная аутентификация и шифрование по протоколу TLS
  • Использование однократного входа в систему (Single Sign On ) при помощи Kerberos или NTLM

Возможности CredSSP можно использовать только в операционных системах Windows Vista и Windows 2008 Server. Данный протокол включается флагом Use Network Level Authentication в настройках сервера терминалов (Windows 2008 Server) или в настройках удаленного доступа (Windows Vista). [14]

При использовании RDP для доступа к приложениям в режиме тонкого клиента требуется настройка специализированного сервера лицензий.

Постоянные клиентские лицензии могут быть установлены на сервер только после прохождения процедуры активации, до ее прохождения возможна выдача временных лицензий, лимитированных по сроку действия. После прохождения активации серверу лицензий предоставляется цифровой сертификат, подтверждающий его принадлежность и подлинность. Используя этот сертификат, сервер лицензий может осуществлять последующие транзакции с базой данных Microsoft Clearinghouse и принимать постоянные клиентские лицензии для сервера терминалов. [6]

Виды клиентских лицензий:

  • временная лицензия  (Temporary Terminal Server CAL)
  • лицензия «на устройство» (Device Terminal Server CAL)
  • лицензия «на пользователя» (User Terminal Server CAL)
  • лицензия для внешних пользователей (External Terminal Server Connector)

Временная лицензия


Данный вид лицензии выдается клиенту при первом подключении к серверу терминалов, срок действия лицензии 90 дней. При успешном входе клиент продолжает работать с временной лицензией, а при следующем подключении сервер терминалов пробует заменить временную лицензию постоянной, при ее наличии в хранилище.

Лицензия «на устройство»


Эта лицензия выдается для каждого физического устройства, подключающегося к серверу приложения. Срок действия лицензии устанавливается случайным образом в промежутке от 52 до 89 дней. За 7 дней до окончания срока действия сервер терминалов пытается обновить лицензию с сервера лицензий при каждом новом подключении клиента.

Лицензия «на пользователя»


Лицензирование «на пользователя» обеспечивает дополнительную гибкость, позволяя пользователям подключаться с различных устройств. В текущей реализации Terminal Services нет средств контроля использования пользовательские лицензий, т.е. количество доступных лицензий на сервере лицензий не уменьшается при подключении новых пользователей. Использование недостаточного количества лицензий для клиентских подключений нарушает лицензионное соглашение с компанией Microsoft. Чтобы одновременно использовать на одном сервере терминалов клиентские лицензии для устройств и для пользователей, сервер должен быть настроен для работы в режиме лицензирования «на пользователя».

Лицензия для внешних пользователей


Это специальный вид лицензии, предназначенный для подключения внешних пользователей к корпоративному серверу терминалов. Данная лицензия не налагает ограничений на количество подключений, однако, согласно пользовательскому соглашению (EULA), сервер терминалов для внешних подключений должен быть выделенным, что не допускает его использования для обслуживания сессий от корпоративных пользователей. Из-за высокой цены данный вид лицензии не получил широкого распространения.

Для сервера лицензий может быть установлена одна из двух ролей:

  • Сервер лицензий для домена или рабочей группы (Domain or Workgroup License server)
  • Сервер лицензий предприятия (Entire Enterprise License Server)

Роли отличаются способом обнаружения сервера лицензий: при использовании роли Enterprise терминальный сервер выполняет поиск сервера лицензии по каталогу ActiveDirectory, в противном случае поиск выполняется при помощи широковещательного NetBIOS- запроса. Каждый найденный сервер проверяется на корректность при помощи RPC -запроса. [8][9]

Решения для серверов приложений активно продвигаются компанией Microsoft, расширяется функционал, вводятся дополнительные модули. Наибольшее развитие получили технологии, упрощающие установку приложений и компоненты, отвечающие за работу сервера терминалов в глобальных сетях. [5]


В Terminal Services для Windows 2008 Server введены следующие возможности:

  • Terminal Services Printing – позволяет использовать принтер клиента для печати из приложений на сервере терминалов.
  • Terminal Services RemoteApp – обеспечивает доступ к любым приложениям через службу терминалов. Для пользователя в данном случае сервер терминалов становится совершенно прозрачным.
  • Terminal Services Web Access – позволяет клиентам подключаться к приложениям RemoteApp при помощи обычного браузера. В роли связующего звена для RemoteApp выступает Web -сервер.
  • Terminal Services Gateway – данная технология организует работу RDP поверх установленного HTTPS- соединения. TS Gateway дает возможность удаленным пользователям подключаться к серверу приложений через региональные сети или Internet с использованием безопасного SSL- туннеля и с минимальной настройкой сетевых устройств.
  • Terminal Services Session Broker – позволяет организовывать подключения пользователей к серверным платформам, использующим балансировку сетевой нагрузки.
  1. Спецификация Microsoft на основные функции RDP
    http://msdn.microsoft.com/en-us/library/cc240445(PROT.10).aspx
  2. Спецификация Microsoft на графические расширения RDP
    http://msdn.microsoft.com/en-us/library/cc241537(PROT.10).aspx
  3. Страничка википедии, посвященная Citrix Systems
    http://en.wikipedia.org/wiki/Citrix_Systems
  4. Вопросы по установке клиентских лицензий
    http://support.microsoft.com/kb/822134/ru
  5. Принцип работы сервера терминалов
    http://technet.microsoft.com/en-us/library/cc755399.aspx
  6. Инструкции по лицензированию Terminal Services
    http://technet.microsoft.com/ru-ru/library/cc787247.aspx
  7. Компоненты, введенные в Terminal Services под управлением Windows 2008 Server
    http://technet.microsoft.com/en-us/library/cc733093.aspx
  8. Описание процесса получения клиентских лицензий (часть 1)
    http://www.msterminalservices.org/articles/Terminal-Services-CAL-Allocation-Process-Part1.html
  9. Описание процесса получения клиентских лицензий (часть 2)
    http://www.msterminalservices.org/articles/Terminal-Services-CAL-Allocation-Process-Part2.html
  10. Полное руководство по терминальным службам Windows Server 2003
    http://citrix.pp.ru/ts2003/index.html
  11. Анализ функциональности, выполненный компанией Citrix Systems
    http://www.citrix.com/%2Fsite%2Fresources%2Fdynamic%2Fsalesdocs%2FCitrix-XenApp5-Terminal-Services-2003-2008-Feature-Analysis.pdf
  12. Исследования на тему RDP- ключей
    http://www.oxid.it/downloads/rdp-gbu.pdf
  13. Настройка SSL в Terminal Services
    http://technet.microsoft.com/en-us/library/cc782610.aspxt
  14. Спецификация протокола CredSSP
    http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-CSSP%5D.pdf
  15. Стандарт FIPS 140-1
    http://csrc.nist.gov/publications/fips/fips1401.htm
  16. Спецификация TLS 1.0
    http://www.ietf.org/rfc/rfc2246.txt

Об авторе:

Сергей Рублев закончил МГТУ им. Баумана. Эксперт в области криптографии и протоколов защищенного обмена данными. В компании Positive Technologies специализируется на анилизе уязвимостей в сетевых службах и разработке расширений к сканерам XSpider и MaxPatrol 8.

Step-by-step. Пошаговые заметки — LiveJournal

?

LiveJournal

  • Find more

    • Communities
    • RSS Reader
  • Shop
  • iOS & Android
  • Help

Login

  • Login
  • CREATE BLOG

    Join

  • English

    (en)

    • English (en)
    • Русский (ru)
    • Українська (uk)
    • Français (fr)
    • Português (pt)
    • español (es)
    • Deutsch (de)
    • Italiano (it)
    • Беларуская (be)

Ubuntu 18.04 — RDP Server за 5 минут — AdminGuide.Ru

Давеча я решил обновить свой сервер терминалов, который был настроен еще в незапамятные времена и работал на xubuntu 14. Этот сервер был предназначен исключительно для бухгалтеров, чтобы они могли подключиться на него со своих тонких клиентов и творить свои грязные бухгалтерские дела в линуксовой 1ске. Так что требования к серверу были минимальные. Возможность работать в 1ске, либраофис, браузер и принтера. Поэтому само собой так получилось, что следующая вещь в моих сетях, которую я переведу на Ubuntu 18.04 – RDP Server.

Решив сперва поискать что есть в современных реалиях в сфере настройки рдп серверов, я обнаружил вот этот прекрасный сайт: Griffon’s IT Library. Буквально недавно, там появилось обновление скрипта для автоматической установки xRDP сервера. Собственно, то что мы сегодня развернем на Ubuntu 18.04 – RDP Server.

  • Скрипт запускается на Ubuntu 18.04.1 x64 desktop
  • После установки, система обновлена командой sudo apt update && sudo apt dist-upgrade
  • Система развернута на хосте ESXi
  • Системе выделено 16 ядер цпу, 64GB оперативной памяти, 128 Gb HDD
  • Имя сервера: ag-ts
  • Все манипуляции после установки openssh сервера производятся через SSH
  1. Устанавливаем систему

  2. Нужно только на тот случай если вы разворачивали машину например из какого-то типового клона или образа

  3. Так же в случае если мы разворачивали машину из клона или образа и не имели возможности указать нужные параметры при установке

  4. Устанавливаем OpenSSH сервер

    Этот пункт необязателен и нужен только если вы будете работать с сервером удаленно.
    Открываем терминал и вводим команду sudo apt install openssh-server

    sudo apt install openssh-server

    Дальше в моём случае я через ssh подключаюсь к серверу и произвожу все действия с другого компьютера. По желанию можно продолжить работать с терминалом открытым локально. Результат будет тот же.

  5. Скачиваем скрипт для установки xRDP

    Переходим в свою домашнюю директорию командой cd

    скачиваем архив со скриптом

    wget https://adminguide.ru/wp-content/uploads/2018/11/install-xrdp-2.2.zip

     

     

    извлекаем скрипт из архива

    unzip ./install-xrdp-2.2.zip

     

     

    Делаем скрипт исполняемым

    chmod +x ./Install-xrdp-2.2.sh

     

     

  6.  Варианты установки xRDP

    Парни из Griffon’s IT Library написавшие скрипт, предусмотрели несколько параметров установки:

    1. ./Install-xrdp-2.2.sh

      Используйте эту команду чтобы установить xrdp версии 0.9.8. Без дополнительных плюшек.

    2. ./Install-xrdp-2.2.sh -g yes

      Эта команда запустит установку xrdp 0.9.8 и установит фикс GDM Lock screen

    3. ./Install-xrdp-2.2.sh -s yes

      Параметр -s, помимо установки xrdp 0.9.8 добавит возможность перенаправления звука из удаленной сессии на удаленный клиент

    4. ./Install-xrdp-2.2.sh -s yes -g yes

      Эта команда установит xrdp, добавит фикс и возможность перенаправления звука

       

  7. Устанавливаем xRDP

    1. Для установки мы воспользуемся командой 6.4
      ./Install-xrdp-2.2.sh -s yes -g yes

      Запускать необходимо из под обычного пользователя, не используя команду sudo. В процессе установки, скрипт сам запросит ввести админский пароль

    2. Отсутствие папки ~/Downloads:
      Если у вас не английская версия Ubuntu 18, то при установке RDP Server из скрипта, у вас возникнет ошибка показанная на скриншоте выше. В скрипте жестко прописан путь к папке ~/Downloads, при этом в её отсутствии скрипт загружает необходимые файлы прямо в корень.Чтобы не лезть в сам скрипт, просто создадим папку Downloads в домашнем каталоге пользователя, от которого запускаем скрипт
      mkdir ~/Downloads

       

    3. Отсутствие xrdp-pulseaudio-installerПовторно запустим установку
      ./Install-xrdp-2.2.sh -s yes -g yes

      Установка завершится сообщением об успехе, но рано радоваться. Нужно присмотреться к логу. Возможно вы увидите там строку

      ./Install-xrdp-2.2.sh: строка 381: cd: /usr/src/xrdp-pulseaudio-installer: Нет такого файла или каталога

      Быстрый просмотр скрипта, выявит что в строке 359, находится команда установки xrdp-pulseaudio-installer, но почему-то она не отрабатывает.
      Запускаем установку xrdp-pulseaudio-installer вручную

      sudo apt-get install xrdp-pulseaudio-installer -y
    4. Завершение установки
      Отработав все встретившиеся на русской версии убунты ошибки, запускаем установку скрипта
      ./Install-xrdp-2.2.sh -s yes -g yes

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

  8. Проверяем Ubuntu 18.04 – RDP Server

    1. Создаем тестового пользователя
      Логин у нас будет adminguide, пароль 123
      AdminGuide.Ru@ag-ts:~$ sudo adduser adminguide
      Добавляется пользователь «adminguide» ...
      Добавляется новая группа «adminguide» (1002) ...
      Добавляется новый пользователь «adminguide» (1002) в группу «adminguide» ...
      Создаётся домашний каталог «/home/adminguide» ...
      Копирование файлов из «/etc/skel» ...
      Введите новый пароль UNIX:
      Повторите ввод нового пароля UNIX:
      passwd: пароль успешно обновлён
      Изменение информации о пользователе adminguide
      Введите новое значение или нажмите ENTER для выбора значения по умолчанию
              Полное имя []: AdminGuide.Ru
              Номер комнаты []: 1
              Рабочий телефон []: 2
              Домашний телефон []: 3
              Другое []: 4
      Данная информация корректна? [Y/n]
      AdminGuide.Ru@ag-ts:~$
      

       

    2. Подключаемся к RDP Серверу
    3. Попадаем на логинскрин xrdp

      Логинскрин xrdp

      Пока активен логинскрин, переключить раскладку не удастся. Поэтому на этапе 8.2 перед нажатием “Подключить” у вас уже должена быть выбрана нужная раскладка

    4. Наблюдаем успешное подключение
  9. Проверяем проброс дисков
    1. Открываем Nautilus и смотрим есть ли пункт thinclient_drives
    2. Открываем thinclient_drives и смотрим проброшены ли туда наши диски
    3. Если диски не пробросились, то вероятнее всего вам нужно сделать следующие настройки:

      Оставляем галочку на “Буфер обмена”

      Снимаем все галочки кроме “Диски”

       

  10. Проверяем звук
    1. Будучи подключенными к серверу терминалов, надо зайти в настройку звуковой карты. Там должно быть устройство xrdp sink
    2. Если он есть, значит звук с вашего удаленного сеанса на локальную машину должен передаваться. Можно открыть например ютуб чтобы потестить
  11. Устанавливаем 1С
  12. Устанавливаем принтеры
  13. Радуемся

Цель выполнена, мы имеем Ubuntu 18.04 – RDP Server. Можно запускать туда бухгалтеров.

 

 

Архив со скриптом: install-xrdp-2.2

Справочник по инструментам командной строки служб удаленных рабочих столов (служб терминалов)

  • 2 минуты на чтение

В этой статье

Применимо к: Windows Server (полугодовой канал), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Узнайте о доступных инструментах командной строки служб удаленных рабочих столов (служб терминалов) с описаниями и ссылками для получения более подробной информации.

Команда Описание
изменить Изменяет настройки сервера узла сеансов удаленных рабочих столов для входа в систему, сопоставления COM-портов и режима установки.
изменить вход в систему Включает или отключает вход в систему из клиентских сеансов на сервере узла сеансов удаленного рабочего стола или отображает текущее состояние входа в систему.
изменить порт Перечисляет или изменяет сопоставления COM-портов для совместимости с приложениями MS-DOS.
изменить пользователя Изменяет режим установки для сервера узла сеансов удаленных рабочих столов.
chglogon Включает или отключает вход в систему из клиентских сеансов на сервере узла сеансов удаленного рабочего стола или отображает текущее состояние входа в систему.
ЧГПорт Перечисляет или изменяет сопоставления COM-портов для совместимости с приложениями MS-DOS.
чгуср Изменяет режим установки для сервера узла сеансов удаленных рабочих столов.
плоская температура Включает или отключает плоские временные папки.
выход из системы Выполняет выход пользователя из сеанса на сервере узла сеансов удаленных рабочих столов и удаляет сеанс с сервера.
сообщение Отправляет сообщение пользователю на сервере узла сеанса удаленного рабочего стола.
мстск Создает подключения к серверам узла сеансов удаленных рабочих столов или другим удаленным компьютерам.
qappsrv Отображает список всех серверов узла сеансов удаленных рабочих столов в сети.
qпроцесс Отображает информацию о процессах, запущенных на сервере узла сеансов удаленных рабочих столов.
запрос Отображает информацию о процессах, сеансах и серверах узлов сеансов удаленных рабочих столов.
процесс запроса Отображает информацию о процессах, запущенных на сервере узла сеансов удаленных рабочих столов.
сеанс запроса Отображает информацию о сеансах на сервере узла сеансов удаленных рабочих столов.
запросить сервер терминов Отображает список всех серверов узла сеансов удаленных рабочих столов в сети.
запрос пользователя Отображает информацию о пользовательских сеансах на сервере узла сеансов удаленных рабочих столов.
quser Отображает информацию о пользовательских сеансах на сервере узла сеансов удаленных рабочих столов.
qwinsta Отображает информацию о сеансах на сервере узла сеансов удаленных рабочих столов.
РДПС Позволяет поставить цифровую подпись для файла протокола удаленного рабочего стола (.rdp).
сброс сеанса Позволяет сбросить (удалить) сеанс на сервере узла сеансов удаленного рабочего стола.
Rwinsta Позволяет сбросить (удалить) сеанс на сервере узла сеансов удаленного рабочего стола.
тень Позволяет удаленно управлять активным сеансом другого пользователя на сервере узла сеансов удаленного рабочего стола.
тскон Подключается к другому сеансу на сервере узла сеансов удаленных рабочих столов.
tsdiscon Отключает сеанс от сервера узла сеансов удаленных рабочих столов.
тскилл Завершает процесс, запущенный в сеансе на сервере узла сеансов удаленных рабочих столов.
цпроф Копирует информацию о конфигурации пользователя служб удаленных рабочих столов от одного пользователя к другому.

Дополнительные ссылки

.Требования к клиенту

RDC для TS Web Access — Windows Server

  • 4 минуты на чтение

В этой статье

В этой статье описаны требования клиента подключения к удаленному рабочему столу (RDC) для использования веб-доступа к службам терминалов в Windows Server.

Исходная версия продукта: Windows Server 2012 R2
Оригинальный номер базы знаний: 943887

ВВЕДЕНИЕ

Terminal Services (TSWeb) в Windows Server 2008 и Remote Desktop Services (RDWeb) в Windows 2008 R2 — это службы на основе ролей, которые позволяют пользователям запускать RemoteApp и подключение к рабочему столу из веб-браузера. RemoteApp и подключение к рабочему столу предоставляет пользователям настраиваемый просмотр программ RemoteApp и виртуальных рабочих столов. Когда пользователь запускает программу RemoteApp, сеанс служб терминалов запускается на сервере терминалов под управлением Windows Server 2008, на котором размещена программа RemoteApp.

Чтобы запустить программу RemoteApp, пользователь подключается к веб-сайту, который размещен на сервере TS Web Access под управлением Windows Server 2008. Когда пользователь подключается к веб-сайту, появляется список доступных программ RemoteApp. Кроме того, TS Web Access позволяет пользователям подключаться к удаленному рабочему столу любого сервера или клиентского компьютера, на котором пользователь имеет необходимые разрешения.

Разрешение

Если вы используете Windows Server 2008 R2, вы должны использовать клиент RDC версии 7.

У вас должен быть клиент RDC версии 6.1 установлен для использования TS Web Access в следующих операционных системах:

  • Windows Server 2008

  • Windows Vista с пакетом обновления 1 (SP1)

  • Windows XP с пакетом обновления 3 (SP3)

    Примечание

    RDC 6.1 (6.0.6001) поддерживает протокол удаленного рабочего стола 6.1.

  • Если у вас возникла эта проблема на компьютере под управлением Windows Vista, на вашем компьютере должен быть установлен пакет обновления 1 для Windows Vista.Дополнительные сведения о пакете обновления 1 для Windows Vista см. В статье 936330 базы знаний Майкрософт: что следует знать перед установкой пакета обновления 1 для Windows Vista

  • Если у вас возникла эта проблема на компьютере под управлением Windows XP, на вашем компьютере должен быть установлен Windows XP Service Pack 3 или RDC 6.1.

Дополнительная информация

Информация для администраторов

Когда пользователи пытаются подключиться к TS Web Access с компьютера, на котором установлена ​​более ранняя версия клиента RDC, они получат сообщение об ошибке, содержащее URL-адрес.Этот URL-адрес указывает пользователю на веб-страницу, где он может найти дополнительную информацию.

В настоящее время URL-адрес, включенный в сообщение об ошибке, указывает на эту статью базы знаний. Однако вы можете изменить URL-адрес, включенный в сообщение об ошибке. Чтобы изменить URL-адрес, используйте один из следующих методов.

Метод 1. Используйте параметр приложения ASP.NET

Чтобы изменить URL-адрес, включенный в сообщение об ошибке, используйте параметр приложения ASP.NET. Для этого выполните следующие действия:

  1. Щелкните Пуск , щелкните Выполнить , введите Inetmgr.exe, а затем щелкните
    ОК .

  2. Разверните имя сервера, разверните Сайты , разверните Веб-сайт по умолчанию , а затем щелкните TS .

    Примечание

    По умолчанию TS Web Access установлен на веб-сайте по умолчанию.

  3. В ASP.NET дважды щелкните Параметры приложения .

  4. На панели действий щелкните Добавить .

  5. В диалоговом окне Добавить параметр приложения введите rdcInstallURL в поле Имя .

  6. В диалоговом окне Добавить настройку приложения введите URL-адрес веб-страницы, которая содержит дополнительную информацию об использовании TS Web Access, а затем нажмите OK .

Способ 2. Отредактируйте файл Web.config

Чтобы изменить URL-адрес, включенный в сообщение об ошибке, можно отредактировать файл Web.config для веб-сайта TS Web Access. Для этого выполните следующие действия:

  1. Откройте файл Web.config для веб-сайта TS Web Access в Блокноте.

    Примечание

    По умолчанию файл Web.config для веб-сайта TS Web Access находится в папке Web \ ts.

  2. Найдите раздел в файле Web.config.

  3. В разделе добавьте следующую запись:

  
  

Примечание

Заполнитель URL-адреса — это URL-адрес веб-страницы, содержащий дополнительную информацию о том, как использовать TS Web Access.

  1. В меню Файл щелкните Сохранить .
  2. Закройте Блокнот.

Информация для пользователей, не являющихся администраторами

Если вы не являетесь администратором, обратитесь к системному администратору, если у вас возникнут проблемы при использовании TS Web Access. Например, системный администратор может помочь вам получить и установить обновленную версию клиента RDC.

Дополнительная информация

Связанная тема

Дополнительные ресурсы

Щелкните следующие ссылки, чтобы найти дополнительные параметры, если эта статья не может решить вашу проблему:

.Запуск, подключение и приложение сервера терминалов

— Windows Server

  • На чтение 9 минут

В этой статье

В этой статье описывается процесс инициализации сервера терминалов и описывается, что происходит, когда пользователь подключается к серверу и запускает приложение.

Исходная версия продукта: Windows Server 2012 R2
Оригинальный номер базы знаний: 186572

Инициализация сервера терминалов Windows

Когда Windows Terminal Server загружается и загружает основную операционную систему, служба терминального сервера (Termsrv.exe) запускается и создает стеки прослушивания (по одному на протокол и транспортную пару), которые прослушивают входящие соединения. Каждому соединению присваивается уникальный идентификатор сеанса или «SessionID» для представления отдельного сеанса серверу терминалов.Каждый процесс, созданный в рамках сеанса, «помечается» соответствующим идентификатором сеанса, чтобы отличать его пространство имен от пространства имен любого другого соединения.

Сеанс консоли (клавиатура, мышь и видео на сервере терминалов) всегда загружается первым и рассматривается как особое клиентское соединение, которому назначается SessionID. Консольный сеанс запускается как обычный системный сеанс Windows NT с загруженными настроенными драйверами дисплея, мыши и клавиатуры Windows NT.

Затем служба сервера терминалов вызывает диспетчер сеансов Windows NT (Smss.exe) для создания двух (по умолчанию = 2) неактивных клиентских сеансов (после создания консольного сеанса), ожидающих клиентских подключений. Для создания бездействующих сеансов диспетчер сеансов выполняет процесс подсистемы времени выполнения клиент / сервер на базе Windows NT (Csrss.exe), и этому процессу присваивается новый идентификатор сеанса. Процесс CSRSS также вызовет процесс Winlogon (Winlogon.exe) и модуль ядра Win32k.sys (оконный менеджер и интерфейс графического устройства — GDI) под вновь связанным идентификатором сеанса. Модифицированный загрузчик образов Windows NT распознает этот Win32k.sys как загружаемое SessionSpace изображение с помощью предопределенного бита, установленного в заголовке изображения. Затем он переместит часть кода изображения в физическую память с указателями из виртуального адресного пространства ядра для этого сеанса, если Win32k.sys еще не был загружен. По замыслу, он всегда будет присоединяться к ранее загруженному коду изображения (Win32k.sys), если он уже существует в памяти. Например, из любого активного приложения или сеанса.

Раздел данных (или не разделяемый) этого образа затем будет выделен новому сеансу из вновь созданного страничного раздела памяти ядра SessionSpace.В отличие от сеанса консоли, сеансы клиента сервера терминалов настроены на загрузку отдельных драйверов для дисплея, клавиатуры и мыши.

Новый драйвер дисплея — это драйвер устройства отображения протокола удаленного рабочего стола (RDP), Tsharedd.dll. Драйверы мыши и клавиатуры обмениваются данными со стеком через диспетчер стека с несколькими экземплярами, termdd.sys. Termdd.sys будет отправлять сообщения об активности мыши и клавиатуры в драйвер RDP, Wdtshare.sys, и от него. Эти драйверы позволяют клиентскому сеансу RDP быть удаленно доступным и интерактивным.Наконец, сервер терминалов также вызовет поток прослушивателя подключений для протокола RDP, который снова управляется диспетчером стека нескольких экземпляров (Termdd.sys), который прослушивает клиентские подключения RDP через порт TCP с номером 3389.

На этом этапе процесс CSRSS существует в собственном пространстве имен SessionID, и его данные создаются для каждого процесса по мере необходимости. Любые процессы, созданные из этого SessionID, будут выполняться в SessionSpace процесса CSRSS автоматически. Это предотвращает доступ процессов с разными идентификаторами сеанса к данным другого сеанса.

Клиентское соединение

RDP-клиент может быть установлен и запущен на любом терминале под управлением Windows (на основе WinCE), Windows для рабочих групп 3.11 с TCP / IP-32b или на платформе Microsoft Win32 API. Клиенты, работающие не на базе Windows, поддерживаются надстройкой Citrix Metaframe. Размер исполняемого файла клиента RDP Windows для рабочих групп составляет примерно 70 КБ, используется рабочий набор 300 КБ и 100 КБ для отображения данных. Клиент на основе Win32 имеет размер примерно 130 КБ, использует рабочий набор 300 КБ и 100 КБ для отображения данных.

Клиент инициирует соединение с сервером терминалов через порт TCP 3389. Поток приемника RDP сервера терминалов обнаружит запрос сеанса и создаст новый экземпляр стека RDP для обработки нового запроса сеанса. Поток слушателя передаст входящий сеанс новому экземпляру стека RDP и продолжит прослушивание порта TCP 3389 для дальнейших попыток подключения. Каждый стек RDP создается при подключении клиентских сеансов для обработки согласования деталей конфигурации сеанса.Первыми деталями будет установка уровня шифрования для сеанса. Терминальный сервер изначально будет поддерживать три уровня шифрования: низкий, средний и высокий.

Низкое шифрование шифрует только пакеты, отправляемые от клиента на сервер терминалов. Это шифрование «только для ввода» предназначено для защиты вводимых конфиденциальных данных, таких как пароль пользователя. Среднее шифрование будет шифровать исходящие пакеты от клиента так же, как низкоуровневое шифрование, но также зашифрует все отображаемые пакеты, возвращаемые клиенту с Терминального сервера.Этот метод шифрования защищает конфиденциальные данные, поскольку они передаются по сети для отображения на удаленном экране. И низкое, и среднее шифрование используют алгоритм Microsoft-RC4 (модифицированный алгоритм RC4 с улучшенной производительностью) с 40-битным ключом. Высокое шифрование будет шифровать пакеты в обоих направлениях, к клиенту и от него, но будет использовать стандартный алгоритм шифрования RC4, опять же с 40-битным ключом. Неэкспортная версия Windows NT Terminal Server будет обеспечивать 128-битное высокоуровневое шифрование RC4.

Между клиентом и сервером будет происходить обмен шрифтами, чтобы определить, какие общие системные шрифты установлены. Клиент будет уведомлять сервер терминалов обо всех установленных системных шрифтах, чтобы обеспечить более быструю визуализацию текста во время сеанса RDP. Когда сервер терминалов знает, какие шрифты доступны клиенту, вы можете сэкономить пропускную способность сети, передавая клиенту сжатые строки шрифтов и символов Unicode, а не растровые изображения большего размера.

По умолчанию все клиенты резервируют 1.5 МБ памяти для кэша растровых изображений, который используется для кэширования растровых изображений, таких как значки, панели инструментов, курсоры и т. Д., Но не используется для хранения строк Unicode. Кэш настраивается (с помощью раздела реестра) и перезаписывается с использованием алгоритма Least Recently Used (LRU). Сервер терминалов также содержит буферы, позволяющие передавать клиентам обновления экрана с управлением потоком, а не постоянный поток битов. При высоком уровне взаимодействия пользователя с клиентом буфер очищается примерно 20 раз в секунду.Во время простоя или когда пользователь не взаимодействует, буфер сбрасывается до 10 раз в секунду. Вы можете настроить все эти числа через реестр.

После согласования деталей сеанса экземпляр стека RDP сервера для этого подключения будет сопоставлен с существующим незанятым сеансом пользователя Win32k, и пользователю будет предложено с помощью экрана входа в Windows NT. Если настроен автоматический вход, зашифрованные имя пользователя и пароль будут переданы на сервер терминалов, и вход в систему будет продолжен.Если в настоящее время не существует свободных сеансов Win32k, служба сервера терминалов вызовет диспетчер сеансов (SMSS), чтобы создать новое пользовательское пространство для нового сеанса. Большая часть пользовательского сеанса Win32k использует общий код и будет загружаться заметно быстрее после того, как ранее был загружен один экземпляр.

После того, как пользователь вводит имя пользователя и пароль, пакеты отправляются в зашифрованном виде на сервер терминалов. Затем процесс Winlogon выполняет необходимую аутентификацию учетной записи, чтобы гарантировать, что у пользователя есть привилегия для входа в систему, и передает домен и имя пользователя в службу сервера терминалов, которая поддерживает список SessionID домена / имени пользователя.Если SessionID уже связан с этим пользователем (например, существует отключенный сеанс), текущий активный стек сеанса присоединяется к старому сеансу. Затем временный сеанс Win32, использованный для первоначального входа в систему, удаляется. В противном случае соединение продолжается как обычно, и служба сервера терминалов создает новое сопоставление идентификатора сеанса домена / имени пользователя. Если по какой-либо причине для этого пользователя активно более одного сеанса, отображается список сеансов, и пользователь решает, какой из них выбрать для повторного подключения.

Запуск приложения

После входа пользователя в систему для пользователя отображается рабочий стол (или приложение, если оно находится в режиме одного приложения). Когда пользователь выбирает 32-разрядное приложение для запуска, команды мыши передаются на сервер терминалов, который запускает выбранное приложение в новом пространстве виртуальной памяти (приложение размером 2 ГБ, ядро ​​размером 2 ГБ). Все процессы на сервере терминалов по возможности будут совместно использовать код в режимах ядра и пользователя. Чтобы обеспечить совместное использование кода между процессами, диспетчер виртуальной памяти Windows NT использует защиту страницы от копирования при записи.Когда несколько процессов хотят читать и записывать одно и то же содержимое памяти, диспетчер виртуальных машин назначает защиту страницы от копирования при записи для области памяти. Процессы (сеансы) будут использовать одно и то же содержимое памяти до тех пор, пока не будет выполнена операция записи, после чего диспетчер виртуальных машин скопирует физический фрейм страницы в другое место, обновит виртуальный адрес процесса, чтобы он указывал на новое местоположение страницы, и теперь отметит страница как чтение / запись. Копирование при записи полезно и эффективно для приложений, работающих на сервере терминалов.

Когда приложение на основе Win32, такое как Microsoft Word, загружается в физическую память одним процессом (сеансом), оно помечается как копирование при записи. Когда новые процессы (сеансы) также вызывают Word, загрузчик изображений просто указывает новым процессам (сеансам) на существующую копию, поскольку приложение уже загружено в память. Когда требуются буферы и пользовательские данные (например, сохранение в файл), необходимые страницы будут скопированы в новое место физической памяти и помечены как чтение / запись для отдельного процесса (сеанс).Диспетчер виртуальных машин защитит это пространство памяти от других процессов. Однако большая часть приложения представляет собой общий код и будет иметь только один экземпляр кода в физической памяти независимо от того, сколько раз он запускается.

Предпочтительно (хотя и не обязательно) запускать 32-разрядные приложения в среде сервера терминалов. 32-битные приложения (Win32) позволят совместно использовать код и работать более эффективно в многопользовательских сеансах. Windows NT позволяет запускать 16-разрядные приложения (Win16) в среде Win32, создавая виртуальный компьютер на базе MS-DOS (VDM) для выполнения каждого приложения Win16.Весь 16-битный вывод транслируется в вызовы Win32, которые выполняют необходимые действия. Поскольку приложения Win16 выполняются в собственном модуле VDM, совместное использование кода между приложениями в нескольких сеансах невозможно. Трансляция между вызовами Win16 и Win32 также потребляет системные ресурсы. Запуск приложений Win16 в среде сервера терминалов потенциально может потреблять вдвое больше ресурсов, чем сопоставимое приложение на основе Win32.

Отключение сеанса и выход пользователя из системы

Отключение сеанса

Если пользователь решит отключить сеанс, процессы и все пространство виртуальной памяти останутся и будут выгружены на физический диск, если физическая память требуется для других процессов.Поскольку сервер терминалов сохраняет сопоставление домена / имени пользователя и связанного с ним идентификатора сеанса, при повторном подключении того же пользователя существующий сеанс будет загружен и снова станет доступным. Дополнительным преимуществом RDP является то, что он может изменять разрешение экрана сеанса в зависимости от того, что пользователь запрашивает для сеанса. Например, предположим, что пользователь ранее подключался к сеансу сервера терминалов с разрешением 800 x 600 и отключился. Если затем пользователь перейдет на другой компьютер, поддерживающий только разрешение 640 x 480, и повторно подключится к существующему сеансу, рабочий стол будет перерисован для поддержки нового разрешения.

Выход пользователя из системы

Выход из системы обычно просто реализовать. После выхода пользователя из сеанса все процессы, связанные с SessionID, завершаются, и вся память, выделенная для сеанса, освобождается. Если пользователь запускает 32-разрядное приложение, такое как Microsoft Word, и выходит из сеанса, код самого приложения остается в памяти до тех пор, пока последний пользователь не выйдет из приложения.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *