Термины
Служба Удаленных Рабочих Столов (Remote Desktop Service, RDS). Ранее называлась Terminal Services (Terminal Services RemoteAPP). Компонент Microsoft Windows Server, позволяющий пользователю управлять удаленным компьютером или виртуальной машиной по сетевому соединению.
Remote Desktop
Удаленный рабочий стол (Remote Desktop) — режим управления, когда один компьютер получает права администратора по отношению к другому, удаленному. Связь между компьютерами происходит в реальном времени посредством Интернет или локальной сети. Уровень доступа в режиме удаленного администрирования определяется конкретными задачами и может быть изменен по необходимости. Например:
- подключение к рабочей сессии для полного контроля и взаимодействия с удаленным компьютером, при котором допускается запуск на нем приложений и манипуляции с файлами;
- подключение к рабочей сессии, позволяющее лишь вести наблюдения за процессами, без вмешательства в работу его системы.
RDP
RDP (Remote Desktop Protocol) — протокол, позволяющий удаленно работать с сервером.
Описание стенда
- Клиентская часть:
- Astra Linux Common Edition 2.12 с установленным ПО xfreerdp;
- Сервер MS Windows 2016. Предполагается, что:
- Сервер настроен как контроллер домена;
- На сервере включена и настроена служба RDS.
Настройка Astra Linux
Для использования служб MS Windows Remote Desktop и RDS следует установить программу-клиента RDP. В составе Astra Linux представлены клиенты RDP:
- пакет freerdp2-x11 (клиентская программа xfreerdp).
- В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) доступен в базовом репозитории (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
- В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) отсутствует и может быть установлен из репозитория Astra Linux Common Edition (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);
- В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) доступен в расширенном репозитории(см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
Эти пакеты могут быть установлены совместно.
Клиент xfreerdp
Установить пакет freerdp2-x11, предоставляющий программу-клиента xfreerdp можно командой:
sudo apt install freerdp2-x11
После установки клиент доступен для запуска из командной строки, команда xfreerdp.
Клиент remmina
Установить пакет remmina, предоставляющий программу-клиента remmina можно командой:
sudo apt install remmina
После установки клиент доступен для запуска из командной строки, команда remmina или из графического меню («Пуск» — «Сеть» — «Remmina») . Описание параметров запуска из командной строки доступно в справочной системе man:
man remmina
Настройка Windows
Включение удаленного подключения Remote Desktop на Windows
Через Свойства системы –> вкладка Удаленный доступ разрешить удаленные подключения к компьютеру и выбрать параметры подключения (разрешить подключения с любых компьютеров):

Разрешение удаленного запуска приложений
По умолчанию удаленный запуск приложений в MS Windows запрещен. Чтобы разрешить его необходимо:
- Ввести сервер в домен AD;
- Установить и настроить службу RDS.
После включения службы RDS для запуска удаленного приложения (кроме устанавливаемых по умолчанию приложений калькулятор и Paint) необходимо выполнить следующие действия:
- Перейти в меню «Службы удаленных рабочих столов.» — «QuickSessionColleciton»;
- В пункте «Удаленные приложения «Remoteapp» нажать кнопку «Задачи» , после — «Опубликовать удаленное приложение RemoteApp»;
- Выбрать нужное приложение и нажать «Опубликовать».
Подключение к Remote Desktop из Astra Linux
Клиент xfreerdp
Для запуска клиента xfreerdp:
- Открыть терминал командной строки с помощью горячей клавиши Alt+T;
- Запустить клиента из командной строки, указав параметры подключения к серверу:
xfreerdp /u: /p: /v:
Клиент remmina
Клиент remmina предоставляет графическую оболочку для ввода параметров подключения, в том числе — графический редактор параметров подключения (в стартовом окне remmina — желтая кнопка с символом «+»):

Обязательным параметром подключения является параметр «Сервер» (IP-адрес или имя сервера, к которому должно выполняться подключение), остальные параметры могут быть запрошены при подключении. По умолчанию подключение выполняется к удаленному рабочему столу (Remote Desktop).
Запуск удаленного приложения (RDS) из Astra Linux
Запуск удаленного приложения осуществляется с помощью той же программы xfreerdp, что и подключение к Remote Desktop. Команда отличается указанием запускаемого приложения (опция /app):
xfreerdp /u: <имя_пользователя_Windows>/p: /v: /app:»||<псевдоним_приложения)>» /cert-ignoreимя_пользователя_Windows>
В качестве значения параметра /app м ожет указываться псевдоним приложения или имя исполняемого файла (/app:»win32calc»). Первый вариант применим при работе со службой RDS, второй вариант — при работе без службы RDS. Дополнительная необязательная опция /cert-ignore позволяет избежать запроса подтверждения при запуске удаленного приложения с недоменной машины (когда отсутствует возможность автоматической проверки сертификата сервера приложений).
Создание ярлыка на рабочем столе для запуска удаленного приложения
Для создания ярлыка на рабочем столе Astra Linux, следует щелкнуть правой кнопкой мыши → Создать → Ярлык.

Ввести имя ярлыка, выбрать иконку ярлыка и запускаемую команду. Например:


Запуск отдельного приложения с помощью клиента remmina
Клиент remmina предоставляет возможность осуществить ограниченное подключение к удаленной машине с запуском единственного приложения.
В отличие от xfreerdp этот вариант запуска работает только с настроенной службой RDS.
Для настройки запуска отдельного приложения
- Запустить remmina;
- Перейти в графический редактор подключений remmina;
- Перейти во вкладку «Дополнительные»;
- В пункте «Запуск программы» указать псевдоним приложения или имя файла запускаемой программы. Дополнительно может потребоваться указать путь к исполняемому файлу (пункт «Путь запуска»).
Введение
В статье рассматриваются решения по удаленному подключению к графическим сессиям Astra Linux и Windows из графических сессий Astra Linux и Windows.
Существуют два принципиально различных типа подключения:
- подключение с созданием отдельной (новой) пользовательской сессии (эмуляция удаленного терминала, сервер терминалов, удаленный запуск графических приложений);
- подключение к уже существующей пользовательской сессии (мобильное рабочее место, удаленный помощник).
При удаленном подключении к существующей сессии может сниматься блокировка физического экрана, что может быть использовано потенциальными нарушителями.
- Удаленный доступ: Ассистент и TeamViewer;
- Удаленный помощник в Astra Linux;
Подключение может выполняться по следующим протоколам:
- SSH — обычно используется для удаленного администрирования компьютеров в режиме командной строки, однако поддерживает и работу с графическими приложениями Astra Linux. Может использоваться для удаленного запуска отдельных графических приложений в связке Astra Linux — Astra Linux или для работы в удаленных сессиях (клиент Remmina или клиент/сервер x2go в Astra Linux);
- XRDP — открытая реализация протокола Microsoft RDP (Remote Desktop Protocol). Поддерживается операционными системами семейства Windows.;
- VNC (Virtual Network Computing);
- XDMCP — Linux-протокол для удаленных рабочих столов. Обеспечивает более быструю работу, чем XRDP, но требует установку на клиентах Windows дополнительной программы VcXsrv. Для работы VcXsrv необходим Windows 7 c установленным обновлением KB2999226 или выше. Несовместимо с Service Pack1 для Windows 7, но если поставить все обновления до 1.09.2016, то функциональность восстанавливается.
Cервер удаленных терминалов XDMCP
Настройка сервера удаленных терминалов XDMCP в Astra Linux
Протокол XDMCP по умолчанию включен в Astra Linux и может использоваться для удаленного создания новых пользовательских сессий из клиентов Astra Linux и Windows. И з соображений безопасности удаленные подключения по этому протоколу по умолчанию запрещены, а в Astra Linux Special Edition дополнительно запрещены подключения из других ОС. Для отмены запрета подключений выполнить на сервере Astra Linux следующие действия:
-
Разрешить удаленные подключения, для чего:
- Загрузить и установить дополнительную программу VcXsrv;
- Если используется межсетевой экран (в Windows включен по умолчанию), то разрешить в нем работу приложения «VcXsrv windows xserver» (Cоответствующие правила имеются в межсетевом экране.) Разрешить «все входящие TCP» и «все входящие UDP);
- Через графическое меню запустить программу Xlaunch;
- Выбрать пункт «One large window»:

- Выбрать XDMCP сессию:

- Выполнить поиск хостов:

- В «Дополнительных настройках» в строке «Additional parameters for VcXsrv» указать:
-
Либо заменить в файле /etc/X11/fly-dm/Xaccess все вхождения параметра localhost на символ * («звездочка»):
sudo sed -i «s/^localhost/*/» /etc/X11/fly-dm/Xaccess
EnableAll=true
Параметр EnableAll доступен начиная с Astra Linux Special Edition РУСБ.10015-01 с установленным обновлением № 20190912SE16 (оперативное обновление 3) (версии пакетов fly-dm начиная с 2.6.16 и fly-qdm начиная с 2.6.7).
sudo systemctl restart fly-dm
Открытие сессии в Astra Linux по протоколу XDMCP из Windows
Для подключения к серверу Astra Linux по протоколу XDMCP из Windows с открытием новой сессии:
-displayID 0:63:0x0:0x0

Для сохранения изменений нажать кнопку «Далее» и кнопку «Готово»; - В открывшемся окне со списком хостов, на которых обнаружено разрешенное удаленное подключение по XDMCP, выбрать в списке нужный хост и нажать кнопку «Connect»:

- применим как для работы Astra Linux c Astra Linux, так и для работы Astra Linux с Windows;
- не позволяет подключиться к уже существующей сессии пользователя;
- позволяет повторно подключиться к ранее запущенной удаленной сессии;
- позволяет подключиться к одной сессии одновременно нескольким клиентам;
- позволяет разделять файловые ресурсы.
- «Xorg» для обновлений Astra Linux Special Edition РУСБ.10015-01 после очередного обновления 1.5;
- «session-xorgxrdp» для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5).
- Открыть терминал (горячая клавиша Alt+t);
- Запустить службу vnc командой:
Cервер удаленных терминалов RDP
Настройка сервера удаленных терминалов RDP в Astra Linux
Данный вариант удаленного подключения:
Для подключения к рабочему месту с использованием протокола RDP на компьютере, к которому будет осуществляться подключение, должен быть установлен пакет xrdp (доступен в репозиториях Astra Linux Special Edition и Astra Linux Common Edition). Для передачи звука дополнительно должен быть установлен пакет pulseaudio-module-xrdp (доступен только в репозиториях Astra Linux Special Edition x.7 и Astra Linux Common Edition). Установку пакетов можно выполнить с помощью графического менеджера пакетов или из командной строки командами :
-
в Astra Linux Special Ediion x.7 и Astra Linux Common Edition если требуется передача звука:
sudo apt install xrdp pulseaudio-module-xrdp
sudo apt install xrdpПосле установки пакетов будет автоматически запущена службы xrdp.service, подключенная к IP-порту tcp/3389 и служба xrdp-sessman (tcp/3350) и сервер будет готов к работе. После перезагрузки ОС службы перезапускаются автоматически.
Открытие сессии в Astra Linux по протоколу RDP из Windows
На компьютере Windows для подключения к Astra Linux по протоколу RDP используется приложение mstsc.
При подключении через «удаленный рабочий стол» выбрать тип сессии:

Ввести логин, пароль и нажать «ОК»
При подключении создается новая отдельная сессия.
Запуск сессии root при работе в сессии xrdp
Использовать сессии root не рекомендуется из соображений безопасности.
Для запуска сессии пользователя root при работе по протоколу xrdp следует скопировать пользовательский конфигурационный файл в каталог /root:
cp /home/
/.Xauthority /root Особенности работы RDP в Astra Linux SE (пустой снимок экрана при удаленном подключении через RDP)
В Astra Linux SE при подключении по RDP по умолчанию запрещено делать снимки экрана при удаленном подключении.
Для того, чтобы разрешить снимки, следует в файл /etc/X11/trusted добавить строчку:
/usr/bin/spectacle(SNAP_R)
Подробнее см. Значения ролей в /etc/X11/trusted.Подключение к существующей сессии Astra Linux по протоколу VNC
Разработчики Astra Linux создали вариант xrdp и vino, позволяющий использовать режим «интерактивной доски» с авторизацией клиентов.
Этот вариант ПО включен в состав Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и в более новые обновления.Настройка сервера Astra Linux
На компьютере Astra Linux установить пакеты vino и xrdp:
sudo apt install vino xrdp
Убедиться, что файле /etc/xrdp/xrdp.ini в настройках протокола Xvnc (секция «[vnc-any]») в параметре port указано значение 5900 (или ask5900). Если указано иное значение, то указать 5900 и перезапустить службу xrdp:
sudo systemctl restart xrdp
Данный метод позволяет удаленным пользователям входить в текущую сессию без ввода пароля. Приведен только как пример для проверки работы. Не рекомендуется использовать в практических целях.
После установки пакетов для включения доступа к пользовательской сессии:
/usr/lib/vino/vino-server &
Настройка пароля для службы vnc
Для того, чтобы служба vnc запрашивала пароль при подключении клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
sudo apt install libglib2.0-bin
и задать пароль для удаленного входа в сессию выполнив команды (в командах указать пароль):gsettings set org.gnome.Vino authentication-methods «[‘vnc’]»
gsettings set org.gnome.Vino vnc-password «$(echo -n » » | base64)»Перезапустить службу vnc для применения настроек.
Подключение к сессии Astra Linux из Windows

Подключение пользовательской машины Windows к серверу Astra Linux выполняется стандартным клиентом Windows:
Для подключения указать IP-адрес сервера:

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

В закладке настройки параметров отображения («Display») установить подходящее разрешение (если монитор отличается от FHD) и по возможности снизить глубину цветности для уменьшения нагрузки на сеть.
Для снижения нагрузки на сеть рекомендуется использовать глубину цветности не более 16 бит.

После появления приглашения для подключения к серверу в меню выбрать пункт vnc-any, указать IP-адрес сервера, и пароль к сессии:

Подключение из Astra Linux к существующей сессии Windows
Настройка сервера Windows
На сервере Windows должен быть разрешен удаленный доступ: «Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».
Клиент удаленных сессий Astra Linux xfreerdp
Установить пакет freerdp2-x11:
sudo apt install freerdp2-x11
Подключение:
xfreerdp /u: /v:Если на сервере Windows используется авторизация NLA, то для подключения клиента xfreerdp Astra Linux к такому серверу использовать дополнительный ключ /sec:tsl, например:
xfreerdp /u: <имя_пользователя_windows>/v: /sec:tlsимя_пользователя_windows>
Решение проблемы подключения при использовании 8-битной цветности
Для подключения с 8-битной цветностью использовать опцию /relax-order-checks, например:
xfreerdp /u:$user /p:$pass /v:$ip_orel /bpp:8 /relax-order-checks
Клиент удаленных сессий Astra Linux Remmina
Для установки клиента Remmina на Astra Linux Special Edition x.7 необходимо подключить расширенный репозиторий. Для установки на более ранние обновления Astra Linux Special Edition требуется подключить репозиторий Astra Linux Common Edition. После подключения установка может быть выполнена командой:
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice
После установки клиент Remmina может быть запущен через графическое меню («Пуск» — «Сеть» — «Remmina») или из командной строки командой:
Подключение из Astra Linux к Astra Linux
Удаленный запуск графических приложений в отдельной сессии с использованием SSH
Настройка сервера SSH Astra Linux
На сервере должна быть установлена и настроена служба SSH. См. статью SSH.
Для того, чтобы был разрешен запуск графических приложений, параметру X11Forwarding в файле /etc/ssh/sshd_config должно быть присвоено значение yes:
X11Forwarding yes
Запуск графического приложения на удаленном компьютере с выводом на локальный экран
Для запуска графического приложения на удаленном компьютере (сервере) с выводом на локальный экран выполнить SSH-подключение к серверу используя опцию -X. Общий вид команды:
Если имена пользователей на локальном компьютере и на сервере совпадают, то часть <имя_пользователя_на_сервере>@ можно не указывать.Если команда не указана, то будет открыта новая сессия ssh, в которой можно будет запускать графические приложения, указывая их имена.
имя_пользователя_на_сервере>
Пример команды для запуска графического редактора kate:
ssh -X 192.168.1.32 kate
Запуск графического приложения на удаленном компьютере с использованием sudo с выводом на локальный экран
Для того, чтобы в сессии ssh можно было запускать графические приложения с привилегиями sudo нужно:
-
Подключиться к сессии ssh не указывая команду:
sudo touch /root/.Xauthority
sudo xauth add `xauth list $DISPLAY`После этого в сессии можно будет выполнять графические приложения используя sudo.
Подключение к новой сессии по протоколу XDMCP на сервере Astra Linux
Для использования Astra Linux в качестве клиента XDMCP на клиенте должен быть установлен пакет xserver-xephyr версии 1.20.10-3ubuntu5astra[.se]1 или выше (пакет устанавливается по умолчанию при установке ОС).
Подключение к серверу осуществляется командой:
Xephyr -query <имя_или_IP-адрес_сервера>:1имя_или_IP-адрес_сервера>
Подключение к новой сессии по протоколу RDP с помощью клиента freerdp2-x11/krdc
На компьютере, с которого будет осуществляться подключение (клиент), установить консольную клиентскую утилиту freerdp2-x11 и пакет графического инструмента krdc.
-
в Astra Linux Special Edition x.7 пакеты доступны в основном репозитории, в Astra Linux Common Edition пакеты доступны в стандартном репозитории. Установить пакеты можно с помощью графического менеджера пакетов или из командной строки командой :
sudo apt install krdc
При установке пакета krdc автоматически будет установлен пакет freerdp2-x11. После установки пакетов графический инструмент доступен в меню: в Пуск → Сеть → KRDC
Перед подключением рекомендуется завершить текущие сессии на сервере
После запуска в окне графической утилиты выбрать протокол RDP, задать адрес сервера и нажать Enter:

Далее последует окно позволяющее совершить дополнительные настройки подключения:

Для снижения нагрузки сети, рекомендуется использовать глубину цветности 16 бит
Параметр «Общий ресурс» определяет положение общей папки на клиенте для возможности обмена файлами в rdp-сессии.
При подключении к серверу-rdp на linux, общий ресурс будет отображаться в домашнем каталоге пользователя, от чьего имени открыта сессия:

При подключении к серверу-rdp на windows, общий ресурс будет отображаться в дереве Сети, как tsclient:

После завершения настроек сессии нажать «Да» в правой нижней части окна, после чего последует запрос авторизационных данных пользователя.
Windows → Linux
Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
Вариант более быстрой работы по сравнению с xrdp, но с установкой доп. программы на windows клиенте
Необходимо установить на windows открытый и бесплатный проект: Х сервер: VcXsrv
Для работы VcXsrv необходим Windows7 или выше c обновлением KB2999226. Service Pack1 для Windows7 ломает взаимодействие по rdp, но если поставить все обновления до 1.09.2016 функциональность rdp восстанавливается.
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *, и перезагрузить ОС или сервис fly-dm.
На windows клиенте запустить Xlaunch
Выбрать One large window

Выбрать XDMCP сессию

Поиск хостов

оставить параметры по умолчанию
И готово

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

Взаимодействие по протоколу RDP
Скачать архив с xrdp :
tar xvf Загрузки/xrdp.tar.gz -C /tmp/
Установить 2 пакета с xrdp :
sudo dpkg -i /tmp/xrdp/*.deb
Далее использовать mstscПри подключении через «удаленный рабочий стол» выбрать » session-xorgxrdp «

Ввести логин, пароль и нажать «ОК»
При подключении создается отдельная сессия.
Взаимодействие по протоколу RDP и vino
Наши разработчики сделали вариант xrdp и vino, позволяющие использовать режим «интерактивной доски» с авторизацией клиентов. Также это подойдет для настройки удаленного доступа.
P.S. Это ПО будет сертифицировано в составе Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Скачать vino и libtelepathy_glib:
Установить vino командой:
sudo dpkg -i ~/Загрузки/vino_3.20.2-1astra1_amd64.deb
sudo dpkg -i ~/Загрузки/ libtelepathy-glib0_0.18.2-2_amd64.deb
sudo apt-get install -f
Настройка vnc-сервера.
Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:
Настройка пароля для vnc-сервера.
Для того, чтобы vnc-сервер запрашивал пароль, при подключение клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
sudo apt-get install libglib2.0-bin
и выполнить команды:gsettings set org.gnome.Vino authentication-methods «[‘vnc’]»
gsettings set org.gnome.Vino vnc-password «$(echo -n «пароль» | base64)»
Перезапустить vnc-сервер для применения настроек.
Настройка vnc-клиента.
Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:

При подключении к серверу, в меню приглашения выбрать пункт vnc-any, указать ip-адрес сервера, и пароль к сессии:

Astra → Windows
XfreeRDP
«Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».
Linux → Linux
VNC
сервер (Astra):
Залогиниться в системе под пользователем
Запустить сервер VNC:/usr/lib/vino/vino-server
клиент (Astra):
xvnc4viewer
описание:
VNC-сервер позволяет подключаться к текущему сеансу пользователя других клиентовЗашифрованный канал связи ssh
На сервере установить в /etc/ssh/sshd_config
/etc/ssh/sshd_config
X11Forwarding yes X11UseLocalhost no
/etc/init.d/ssh restart
на клиенте в /etc/ssh/ssh_config:
/etc/ssh/ssh_configForwardX11 yes ForwardX11 Trusted yes
Не зашифрованный XDMCP
сервер: fly-dm
клиент: fly-dm
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *
/etc/X11/fly-dm/Xaccess
# In all cases, xdm uses the first entry which matches the terminal; # for IndirectQuery messages only entries with right hand sides can # match, for Direct and Broadcast Query messages, only entries without # right hand sides can match. # * #any host can get a login window #
и перезапустить fly-dm:
Подключаемся к Astra Linux через RDP. Альтернатива Hyper-V под Linux. Часть 4

Для удаленного подключения к ПК и серверам в Windows используется протокол RDP и программа Подключение к удаленному рабочему столу (запускается через mstsc). Сегодня мы рассмотрим как удаленно подключиться к ПК или серверу с Astra Linux через протокол RDP. Установим требуемые пакеты: Для работы по протоколу RDP в Astra Linux нам потребуется установить несколько пакетов:
sudo apt install xorgxrdp xrdpНа Пк с Windows запустим mstsc и введем ip адрес с Astra Linux. Если соединение не устанавливается нужно добавить разрешающее правило в межсетевой экран Astra Linux:
sudo ufw allow from 192.168.1.20
Если всё в порядке, откроется окно: Категория Debian