Данная статья применима к:
Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Astra Linux Common Edition 2.12
Введение
В настоящей статье рассматриваются решения по удаленному подключению к графическим сессиям Astra Linux и Windows из графических сессий Astra Linux и Windows. Рассматриваются два принципиально различных типа подключения:
- подключение с созданием отдельной (новой) пользовательской сессии (эмуляция удаленного терминала, сервер терминалов, удаленный запуск графических приложений);
подключение к уже существующей пользовательской сессии (мобильное рабочее место, удаленный помощник).
При удаленном подключении к существующей сессии может сниматься блокировка физического экрана, что может быть использовано потенциальными нарушителями для доступа к пользовательской сессии.См. также:
Подключение может выполняться по следующим протоколам:
- SSH — обычно протокол 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, то функциональность восстанавливается.
Сервер удаленных терминалов XDMCP
Настройка сервера удаленных терминалов XDMCP в Astra Linux
Протокол XDMCP по умолчанию включен в Astra Linux и может использоваться для удаленного создания новых пользовательских сессий из клиентов Astra Linux и Windows. Из соображений безопасности удаленные подключения по этому протоколу по умолчанию запрещены, а в Astra Linux Special Edition дополнительно запрещены подключения из других операционных систем (ОС). Для отмены запрета подключений выполнить на сервере Astra Linux следующие действия:
Разрешить удаленные подключения из Astra Linux:
Либо заменить в файле /etc/X11/fly-dm/Xaccess все вхождения параметра localhost на символ * ("звездочка"):
sudo sed -i "s/^localhost/*/" /etc/X11/fly-dm/XaccessЛибо использовать графический инструмент: "Панель управления" - "Система" - "Вход в систему" на вкладке "Дополнительно" поставить галочку в чек-боксе "Разрешить удалённые сессии" или "Разрешить удаленный вход" (в зависимости от используемого обновления) и сохранить изменения;
Если требуется разрешить подключение из других ОС, то на серверах под управлением Astra Linux Special Edition в файле /etc/X11/fly-dm/fly-dmrc в секции [Xdmcp] изменить значение параметра EnableAll с false на true (если такого параметра нет - то добавить его в указанную секцию):
Параметр EnableAll доступен начиная с Astra Linux Special Edition РУСБ.10015-01 с установленным обновлением № 20190912SE16 (оперативное обновление 3) (версии пакетов fly-dm начиная с 2.6.16 и fly-qdm начиная с 2.6.7).
EnableAll=true
Перезагрузить ОС или перезапустить службу fly-dm (при перезапуске службы все графические пользовательские сессии будут завершены):
sudo systemctl restart fly-dm
Открытие сессии в Astra Linux по протоколу XDMCP из Windows
Для подключения к серверу Astra Linux по протоколу XDMCP из Windows с открытием новой сессии:
- Загрузить и установить дополнительную программу VcXsrv.
- Если используется межсетевой экран (в Windows включен по умолчанию), то разрешить в нем работу приложения "VcXsrv windows xserver" (Cоответствующие правила имеются в межсетевом экране.) Разрешить "все входящие TCP" и "все входящие UDP).
- Через графическое меню запустить программу Xlaunch.
- Выбрать пункт "One large window":
- Выбрать XDMCP сессию:
- Выполнить поиск хостов:
В "Дополнительных настройках" в строке "Additional parameters for VcXsrv" указать:
-displayID 0:63:0x0:0x0
Для сохранения изменений нажать кнопку "Далее" и кнопку "Готово";В открывшемся окне со списком хостов, на которых обнаружено разрешенное удаленное подключение по XDMCP, выбрать в списке нужный хост и нажать кнопку "Connect":
Сервер удаленных терминалов RDP
Настройка сервера удаленных терминалов RDP в Astra Linux
Данный вариант удаленного подключения:
- применим как для работы Astra Linux c Astra Linux, так и для работы Astra Linux с Windows;
- не позволяет подключиться к уже существующей сессии пользователя;
- позволяет повторно подключиться к ранее запущенной удаленной сессии;
- позволяет подключиться к одной сессии одновременно нескольким клиентам;
- позволяет разделять файловые ресурсы.
Для подключения к рабочему месту с использованием протокола 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
если не требуется передача звука или в Astra Linux Special Edition 1.6:
sudo apt install xrdp
После установки пакетов будет автоматически запущена службы xrdp.service, подключенная к IP-порту tcp/3389 и служба xrdp-sessman (tcp/3350) и сервер будет готов к работе. После перезагрузки ОС службы запускаются автоматически.
Некоторые особенности работы RDP
Настройка переключения раскладки клавиатуры по одной клавише
Если для переключения раскладки клавиатуры используется одна клавиша (например, клавиша CapsLock), то при работе в удаленной сессии после переключения раскладки возможны ошибки ввода при нажатии следующей клавиши. Это вызвано тем, что по умолчанию переключение выполняется по событию "отжатие клавиши переключения", а при работе в удаленной сессии порядок обработки событий может нарушаться. Для устранения таких ошибок рекомендуется изменить порядок переключения раскладки с переключения по событию "отжатие клавиши переключения" на переключение по событию "нажатие клавиши переключения". Для этого на сервере xrdp:
В секцию [SessionVariables] файла /etc/xrdp/sesman.ini добавить строку:
FLY_NO_SWITCH_ON_RELEASE=1
Перезапустить службу xrdp:
sudo systemctl restart xrdp
Пустой снимок экрана при удаленном подключении через RDP в Astra Linux Special Edition
В Astra Linux Special Edition при подключении по RDP по умолчанию запрещено делать снимки экрана при удаленном подключении. Для того, чтобы разрешить снимки, следует в файл /etc/X11/trusted добавить строчку:
Подробнее см. Значения ролей в /etc/X11/trusted.Открытие сессии в Astra Linux по протоколу RDP из Windows
На компьютере Windows для подключения к Astra Linux по протоколу RDP используется приложение mstsc.
При подключении через "удаленный рабочий стол" выбрать тип сессии:
- "Xorg" для обновлений Astra Linux Special Edition РУСБ.10015-01 после очередного обновления 1.5;
- "session-xorgxrdp" для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5).
Ввести логин, пароль и нажать "ОК"
При подключении создается новая отдельная сессия.
Запуск сессии root при работе в сессии xrdp
Для запуска сессии пользователя root при работе по протоколу xrdp следует скопировать пользовательский конфигурационный файл в каталог /root:
Подключение к существующей сессии 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:
После установки пакетов для включения доступа к пользовательской сессии:
- Открыть терминал (горячая клавиша Alt+t);
Запустить службу vnc командой:
/usr/lib/vino/vino-server &
Настройка пароля для службы vnc
Для того, чтобы служба vnc запрашивала пароль при подключении клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
gsettings set org.gnome.Vino vnc-password "$(echo -n "<пароль>" | base64)"
Подключение к сессии Astra Linux из Windows
Подключение пользовательской машины Windows к серверу Astra Linux выполняется стандартным клиентом Windows:
Для подключения указать IP-адрес сервера:
При раскрытии параметров возможно задать имя пользователя для подключения, разрешить сохранение учетных данных, а также сохранить параметры соединения:
В закладке настройки параметров отображения ("Display") установить подходящее разрешение (если монитор отличается от FHD) и по возможности снизить глубину цветности для уменьшения нагрузки на сеть.
Для снижения нагрузки на сеть рекомендуется использовать глубину цветности не более 16 бит.
После появления приглашения для подключения к серверу в меню выбрать пункт vnc-any, указать IP-адрес сервера, и пароль к сессии:
Подключение из Astra Linux к существующей сессии Windows
Настройка сервера Windows
Клиент удаленных сессий Astra Linux xfreerdp
Установить пакет freerdp2-x11:
Если на сервере Windows используется авторизация NLA, то для подключения клиента xfreerdp Astra Linux к такому серверу использовать дополнительный ключ /sec:tsl, например:
Решение проблемы подключения при использовании 8-битной цветности
Для подключения с 8-битной цветностью использовать опцию /relax-order-checks, например:
Клиент удаленных сессий Astra Linux Remmina
Для установки клиента Remmina на Astra Linux Special Edition x.7 необходимо подключить расширенный репозиторий. Для установки на более ранние обновления Astra Linux Special Edition требуется подключить репозиторий Astra Linux Common Edition. После подключения установка может быть выполнена командой:
Подключение из Astra Linux к Astra Linux
Удаленный запуск графических приложений в отдельной сессии с использованием SSH
Настройка сервера SSH Astra Linux
На сервере должна быть установлена и настроена служба SSH. См. статью SSH.
Для того, чтобы был разрешен запуск графических приложений, параметру X11Forwarding в файле /etc/ssh/sshd_config должно быть присвоено значение yes:
X11Forwarding yes
Запуск графического приложения на удаленном компьютере с выводом на локальный экран
Для запуска графического приложения на удаленном компьютере (сервере) с выводом на локальный экран выполнить SSH-подключение к серверу используя опцию -X. Общий вид команды:
Пример команды для запуска графического редактора kate:
Запуск графического приложения на удаленном компьютере с использованием sudo с выводом на локальный экран
Для того, чтобы в сессии ssh можно было запускать графические приложения с привилегиями sudo нужно:
Подключиться к сессии ssh не указывая команду:
ssh -X <имя_пользователя_на_сервере>@<имя_или_адрес_сервера>Создать в сессии ssh на удаленном компьютере файл /root/.Xauthority:
sudo touch /root/.XauthorityСкопировать в созданный файл /root/.Xauthority идентификатор графической сессии пользователя, под именем которого выполнен вход в сессию ssh:
sudo xauth add `xauth list $DISPLAY`
После этого в сессии можно будет выполнять графические приложения используя sudo.
Подключение к новой сессии по протоколу XDMCP на сервере Astra Linux
Предполагается, что сервер Astra Linux уже настроен. См. Настройка сервера удаленных терминалов XRDMCP в Astra Linux.
Для использования Astra Linux в качестве клиента XDMCP на клиенте должен быть установлен пакет xserver-xephyr версии 1.20.10-3ubuntu5astra[.se]1 или выше (пакет устанавливается по умолчанию при установке ОС).
Подключение к серверу осуществляется командой:
Подключение к новой сессии по протоколу RDP с помощью клиента freerdp2-x11/krdc
На компьютере, с которого будет осуществляться подключение (клиент), установить консольную клиентскую утилиту freerdp2-x11 и пакет графического инструмента krdc.
в Astra Linux Special Edition x.7 пакеты доступны в основном репозитории, в Astra Linux Common Edition пакеты доступны в стандартном репозитории. Установить пакеты можно с помощью графического менеджера пакетов или из командной строки командой:
sudo apt install krdcв Astra Linux Special Edition 1.6 для установки пакета krdc можно подключить репозиторий Astra Linux Common Edition или скачать пакет из репозитория Astra Linux Common Edition и установить его из командной строки (потребуется подключение диска со средствами разработки):
wget https://dl.astralinux.ru/astra/frozen/2.12_x86-64/2.12.44/repository/pool/main/k/krdc/krdc_19.12.3-0ubuntu1astra1_amd64.deb
sudo apt install ./krdc_*_amd64.deb
При установке пакета krdc автоматически будет установлен пакет freerdp2-x11. После установки пакетов графический инструмент доступен в меню: в Пуск → Сеть → KRDC
Перед подключением рекомендуется завершить текущие сессии на сервере
После запуска в окне графической утилиты выбрать протокол RDP, задать адрес сервера и нажать Enter:
Далее последует окно позволяющее совершить дополнительные настройки подключения:
Для снижения нагрузки сети, рекомендуется использовать глубину цветности 16 бит
Параметр "Общий ресурс" определяет положение общей папки на клиенте для возможности обмена файлами в rdp-сессии.
При подключении к серверу-rdp на linux, общий ресурс будет отображаться в домашнем каталоге пользователя, от чьего имени открыта сессия:
При подключении к серверу-rdp на windows, общий ресурс будет отображаться в дереве Сети, как tsclient:
После завершения настроек сессии нажать "Да" в правой нижней части окна, после чего последует запрос авторизационных данных пользователя.