Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

В настоящее время актуальным и рекомендованным вариантом настройки сессии, обеспечивающей возможность удаленного подключения, является использование удаленного доступа к Astra Linux по протоколу RDP с использованием fly-dm. Для подключения к таким сессиям можно использовать любые инструменты, поддерживающие протокол RDP (описаны далее в этой статье).

Оглавление
separatorpipe



Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • 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
    Предупреждение
    Для защиты передаваемых данных при использовании протокола RDP в публичных сетях рекомендуется использовать защищенные каналы связи: защищенные каналы перенаправления SSH, каналы VPN и пр.
  • VNC (Virtual Network Computing).
  • XDMCP. Linux-протокол для удаленных рабочих столов.  Обеспечивает более быструю работу, чем XRDP, но требует установку на клиентах Windows дополнительной программы VcXsrv. Для работы VcXsrv необходим Windows 7 c установленным обновлением KB2999226 или выше. Несовместимо с Service Pack1 для Windows 7, но в Интернет доступна информация, что если поставить все обновления до 1.09.2016, то функциональность восстанавливается.

Сервер удаленных терминалов XDMCP

Якорь
XDMCP
XDMCP
Настройка сервера удаленных терминалов XDMCP в Astra Linux

Протокол XDMCP по умолчанию включен в Astra Linux и может использоваться для удаленного создания новых пользовательских сессий из клиентов Astra Linux и Windows. Из соображений безопасности удаленные подключения по этому протоколу по умолчанию запрещены, а в Astra Linux Special Edition дополнительно запрещены подключения из других операционных систем (ОС). Для отмены ограничений подключений выполнить на сервере Astra Linux следующие действия:

  1. Разрешить удаленные подключения из Astra Linux. Для этого можно использовать графический инструмент:  "Панель управления" -  "Система" - "Вход в систему" на вкладке "Дополнительно" поставить галочку в чек-боксе "Разрешить удалённые сессии" или "Разрешить удаленный вход" (в зависимости от используемого обновления) и сохранить изменения. При использовании графического инструмента одновременно разрешаются исходящие и входящие подключения. Для отдельной настройки входящих подключений заменить в файле /etc/X11/fly-dm/Xaccess параметр localhost (не параметр localhost CHOOSER):

    Блок кода
    localhost                                       #any host can get a login window

    на символ * ("звездочка") для разрешения входящих подключений от любых серверов или на список серверов, для которых разрешено подключение. Например:

    Блок кода
    *                                       #any host can get a login window

     

  2. Убедиться, что в файле /etc/X11/fly-dm/fly-dmrc в секции [Xdmcp] значение параметра Enable установлено как true:

    Блок кода
    Enable=true


  3. Если требуется разрешить подключение из других ОС, то на серверах под управлением 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


  4. Перезагрузить ОС или перезапустить службу fly-dm (при перезапуске службы все графические пользовательские сессии будут завершены):

    Command
    sudo systemctl restart fly-dm


Якорь
WAL-xdmcp
WAL-xdmcp
Открытие сессии в Astra Linux по протоколу XDMCP из Windows

Для подключения к серверу Astra  Linux по протоколу XDMCP из Windows с открытием новой сессии:

  1. Загрузить и установить дополнительную программу VcXsrv.
  2. Если используется межсетевой экран (в Windows включен по умолчанию), то разрешить в нем работу приложения  "VcXsrv windows xserver" (соответствующие правила имеются в межсетевом экране.) Разрешить "все входящие TCP" и "все входящие UDP).
  3. Через графическое меню запустить программу Xlaunch.
  4. Выбрать пункт "One large window":
  5. Выбрать XDMCP сессию:
  6. Выполнить поиск хостов:
  7. В "Дополнительных настройках" в строке "Additional parameters for VcXsrv" указать:

    Блок кода
    -displayID 0:63:0x0:0x0



    Для сохранения изменений нажать кнопку "Далее" и кнопку "Готово";

  8. В открывшемся окне со списком хостов, на которых обнаружено разрешенное удаленное подключение по 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, x.8 и Astra Linux Common Edition если требуется передача звука:

    Command

    sudo apt install xrdp pulseaudio-module-xrdp

    Для подключения с помощью клиента RDP xfreerdp3 необходимо использовать xrdp версии не ниже 0.10. Эта версия доступна в основном репозитории начиная с Astra Linux Special Edition 1.8. Для более ранних обновлений (более ранних версий xrdp) следует использовать клиент xfreerdp.

  • если не требуется передача звука или в Astra Linux Special Edition 1.6:

    Command

    sudo apt install xrdp


После установки пакетов будет автоматически запущена службы xrdp.service, подключенная к IP-порту tcp/3389 и служба xrdp-sessman (tcp/3350) и сервер будет готов к работе. После перезагрузки ОС службы запускаются автоматически.

Некоторые особенности работы RDP

Настройка переключения раскладки клавиатуры по одной клавише

Если для переключения раскладки клавиатуры используется одна клавиша (например, клавиша CapsLock), то при работе в удаленной сессии после переключения раскладки возможны ошибки ввода при нажатии следующей клавиши. Это вызвано тем, что по умолчанию переключение выполняется по событию "отжатие клавиши переключения", а при работе в удаленной сессии порядок обработки событий может нарушаться. Для устранения таких ошибок рекомендуется изменить порядок переключения раскладки с переключения по событию "отжатие клавиши переключения" на переключение по событию "нажатие клавиши переключения". Для этого на сервере xrdp:

  1. В секцию [SessionVariables] файла /etc/xrdp/sesman.ini добавить строку:

    Блок кода
     FLY_NO_SWITCH_ON_RELEASE=1


  2. Перезапустить службу xrdp:

    Command
    sudo systemctl restart xrdp


Пустой снимок экрана при удаленном подключении через RDP в Astra Linux Special Edition

В Astra Linux Special Edition при подключении по RDP по умолчанию запрещено делать снимки экрана при удаленном подключении. Для того, чтобы разрешить снимки, следует в файл /etc/X11/trusted добавить строчку:

Информация
/usr/bin/spectacle(SNAP_R)

Подробнее см. Значения ролей в /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 запрещено. Использовать сессии root не рекомендуется из соображений безопасности. Предлагаемые далее действия ведут к снижению защищенности информационной системы.

Для запуска сессии пользователя root при работе по протоколу xrdp:

  1. Разрешить вход пользователя root, назначив ему пароль:

    Command

    sudo passwd root


  2. Если на сервере xrdp включен мандатный контроль целостности, то назначить пользователю root высокую целостность:

    Command

    sudo pdpl-user root -i high



  3. В секции [Security] файла /etc/xrdp/sesman.ini параметру AllowRootLogin присвоить значение true:

    Блок кода
    AllowRootLogin=true


  4. Перезапустить службу xrdp:

    Command
    sudo systemctl restart xrdp


Подключение к существующей сессии Astra Linux по протоколу VNC

Информация

Разработчики Astra Linux создали вариант xrdp и vino, позволяющий использовать режим "интерактивной доски" с авторизацией клиентов. Этот вариант ПО включен в состав Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и в более новые обновления.

Якорь
vino
vino

Настройка сервера Astra Linux

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

На компьютере Astra Linux установить пакеты vino и xrdp:

Информация

sudo apt install vino xrdp

Убедиться, что файле /etc/xrdp/xrdp.ini в настройках протокола Xvnc (секция "[vnc-any]") в параметре port указано значение 5900 (или ask5900). Если указано иное значение, то указать 5900 и перезапустить службу xrdp:

Command
sudo systemctl restart xrdp


После установки пакетов для включения доступа к пользовательской сессии:

  1. Открыть терминал (горячая клавиша Alt+t);
  2. Запустить службу vnc командой:

    Command
    /usr/lib/vino/vino-server &


Настройка пароля для службы vnc

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

  1. На сервере установить пакет  libglib2.0-bin:
    Command
    sudo apt install libglib2.0-bin
  2. Задать пароль для удаленного входа в сессию выполнив команды (в командах указать пароль)
    Command

    gsettings set org.gnome.Vino authentication-methods "['vnc']"
    gsettings set org.gnome.Vino vnc-password "$(echo -n "<пароль>" | base64)"

  3. Перезапустить службу vnc для применения настроек.

Подключение к сессии Astra Linux из Windows

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


Для подключения указать IP-адрес сервера:

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

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

Примечание

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


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


Подключение из Astra Linux к существующей сессии Windows

Настройка сервера Windows

Информация
На сервере Windows должен быть разрешен удаленный доступ: «Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».

Клиенты удаленных сессий Astra Linux xfreerdp

В настоящее время в составе репозиториев Astra Linux доступны два клиента уделенных сессий RDP:

  • Клиент xfreerdp3 (пакет freerdp3-x11). Доступен начиная с обновлений:Для подключения с помощью клиента RDP xfreerdp3 необходимо использовать xrdp версии не ниже 0.10. Эта версия доступна в основном репозитории начиная с Astra Linux Special Edition 1.8. Для более ранних обновлений Astra Linux (более ранних версий xrdp) следует использовать клиент xfreerdp.
  • Клиент xfreerdp (пакет freerdp2 -x11) — доступен в основном репозитории.

Для установки клиентов установить предоставляющие их пакеты (один или оба –- в зависимости от предполагаемого порядка применения):

Command

sudo apt install freerdp3-x11
sudo apt install freerdp2-x11

Клиенты обладают схожими функциями, параметры клиентов описаны в справочной системе man.

Пример подключения к серверу RDP:

Command
borderColor#c2e6ff
bgColor#e2f3ff
xfreerdp /u:<имя_пользователя_windows> /v:<имя_или_IP-адрес_сервера_windows>

Для клиента xfreerdp3 чтобы исключить интерактивный запрос дополнительно указать имя домена (пустое, если не используется):

Command
borderColor#c2e6ff
bgColor#e2f3ff
xfreerdp3 /u:<имя_пользователя_windows> /v:<имя_или_IP-адрес_сервера_windows> /d:""
Информация

Если подключение выполняется к серверу Windows, на котором используется авторизация NLA, то для подключения клиента xfreerdp Astra Linux к такому серверу использовать дополнительный ключ /sec:tsl, например:

Command

xfreerdp /u:<имя_пользователя_windows> /v:<имя_или_IP-адрес_сервера_windows> /sec:tls  


Решение проблемы подключения при использовании 8-битной цветности

Для подключения с 8-битной цветностью использовать опцию  /relax-order-checks, например:

Command
xfreerdp /u:$user /p:$pass /v:$ip_orel /bpp:8 /relax-order-checks

Включение сжатия данных

Протокол RDP поддерживает сжатие передаваемых данных. Сжатие осуществляется только для данных, передаваемых с сервера. Для задания уровня сжатия используется опция /compression-level:<уровень_сжатия>, где уровень сжатия может быть 1, 2 или 3.
Помимо встроенных алгоритмов сжатия клиентов RDP для оптимизации передаваемого трафика можно использовать туннели SSH со сжатием данных. 

Клиент удаленных сессий Astra Linux Remmina

Для установки клиента Remmina на Astra Linux Special Edition x.7 необходимо подключить расширенный репозиторий. Для установки на более ранние обновления Astra Linux Special Edition требуется подключить репозиторий Astra Linux Common Edition. После подключения установка может быть выполнена командой:

Command
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice

После установки клиент Remmina может быть запущен через графическое меню ("Пуск" - "Сеть" - "Remmina") или из командной строки командой:

Command
remmina

Подключение из Astra Linux к Astra Linux

Удаленный запуск графических приложений в отдельной сессии с использованием SSH

Настройка сервера SSH Astra Linux

На сервере должна быть установлена и настроена служба SSH. См. статью SSH.

Для того, чтобы был разрешен запуск графических приложений, параметру X11Forwarding в файле /etc/ssh/sshd_config должно быть присвоено значение yes:

Блок кода
X11Forwarding yes


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

Для запуска графического приложения на удаленном компьютере (сервере) с выводом на локальный экран выполнить SSH-подключение к серверу используя опцию -X. Общий вид команды:

Command
ssh -X <имя_пользователя_на_сервере>@<имя_или_адрес_сервера> <команда>

Если имена пользователей на локальном компьютере и на сервере совпадают, то часть <имя_пользователя_на_сервере>@ можно не указывать.Если команда не указана, то будет открыта новая сессия ssh, в которой можно будет запускать графические приложения, указывая их имена.

Пример команды для запуска графического редактора kate:

Command
ssh -X 192.168.1.32 kate

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

Для того, чтобы в сессии ssh можно было запускать графические приложения с привилегиями sudo нужно:

  1. Подключиться к сессии ssh не указывая команду:

    Command
    ssh -X <имя_пользователя_на_сервере>@<имя_или_адрес_сервера>


  2. Создать в сессии ssh на удаленном компьютере файл /root/.Xauthority:

    Command
    sudo touch /root/.Xauthority


  3. Скопировать в созданный файл /root/.Xauthority идентификатор графической сессии пользователя, под именем которого выполнен вход в сессию ssh:

    Command
    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 или выше (пакет устанавливается по умолчанию при установке ОС).

При использовании протокола XDMCP в Astra Linux Special Edition с включенным мандатным управлением доступом и мандатным контролем целостности:

  1. Для того, чтобы после подключения к удаленной сессии можно было получить ненулевую классификационную метку и ненулевую метку целостности, подключение необходимо выполнять из графического экрана входа: пункт меню "Действия" - "Удаленный вход". 
  2. Иначе, при выполнении подключения из ранее открытой пользовательской сессии, подключение и работа возможны только между пользовательскими сессиями с нулевыми классификационными метками. При этом:
    1. При подключении из пользовательской сессии с нулевой классификационной меткой удаленная сессия всегда будет запускаться с нулевой классификационной меткой и нулевой меткой целостности без возможности изменения меток.
    2. Подключение из пользовательской сессии с ненулевой классификационной меткой невозможно.

Подключение к серверу осуществляется командой:

Command
Xephyr -query <имя_или_IP-адрес_сервера> :1

где :1 — номер дисплея (если дисплей занят - можно использовать :2, :3 и т.д.).

Более сложный вариант команды:

Command
Xephyr -indirect <имя_или_IP-адрес_сервера> -screen <разрешение_экрана> -title <заголовок_окна> -resizeable :<номер_дисплея>

Где:

  • -indirect  – опция, задающая перенаправление на удаленный хост;
  • <имя_или_IP-адрес_сервера>  – IP-адрес удаленного хоста, например 192.168.1.100;
  • -screen <разрешение_экрана> –  разрешение окна с открытым удаленным графическим интерфейсом, например 800x600;
  • -title <заголовок_окна> – заголовок окна с открытым удаленным графическим интерфейсом;
  • -resizeable – опция, позволяющая изменять размер окна;
  • :<номер_дисплея> — номер дисплея, который будет использован для подключения. По умолчанию 0 (всегда занят активной графической сессией). Можно использовать любое значение, кроме :0. При использовании нескольких сессий необходимо для каждой сессии задать оригинальный номер.

Пример команды:

Command
Xephyr  -indirect 192.168.1.100 -screen 800x600 -title Вложенная -displayID 0:0 -resizeable :101 

Автоматический поиск серверов на экране входа

Для разрешения автоматического поиска серверов, к которым возможно удаленное подключение, можно использовать графический инструмент:  "Панель управления" -  "Система" - "Вход в систему" на вкладке "Дополнительно" поставить галочку в чек-боксе "Разрешить удалённые сессии" или "Разрешить удаленный вход" (в зависимости от используемого обновления) и сохранить изменения. При использовании графического инструмента одновременно разрешаются исходящие и входящие подключения. Для отдельной настройки поиска доступных для исходящих серверов подключений заменить в файле /etc/X11/fly-dm/Xaccess в параметре localhost CHOOSER:

Блок кода
localhost               CHOOSER BROADCAST       #any indirect host can get a chooser

заменить localhost на символ * ("звездочка") для разрешения поиска всех серверов:

Блок кода
*               CHOOSER BROADCAST       #any indirect host can get a chooser

или заменить localhost на шаблон имени сервера, а BROADCAST заменить на список серверов. Подробнее см. комментарии в файле /etc/X11/fly-dm/Xaccess.

Подключение к новой сессии по протоколу RDP с помощью клиента freerdp2-x11/krdc

На компьютере, с которого будет осуществляться подключение (клиент), установить консольную клиентскую утилиту freerdp2-x11 и пакет графического инструмента krdc.

Информация

Пакет krdc является графической оболочкой инструмента командной строки xfreerdp. Параметры соединения, задаваемые в графических формах krdc, транслируются в опции xfreerdp.


При установке пакета krdc автоматически будет установлен пакет freerdp2-x11. После установки пакетов графический инструмент доступен в меню: в Пуск → Сеть → KRDC.

Информация

Перед подключением рекомендуется завершить текущие сессии на сервере

После запуска в окне графической утилиты выбрать протокол RDP,  задать адрес сервера и нажать Enter:

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

Примечание

При работе в сети с высокой пропускной способностью рекомендуется использовать опцию RemoteFX (использовать кодек remotefx).
Для снижения нагрузки на сеть рекомендуется использовать глубину цветности 16 бит и менее.
Для использования глубины цветности 8 следует использовать инструмент командной строки xfreerdp, при этом исключить использование опции /rdp и использовать опцию /bpp:8 в сочетании с опцией /relax-order-checks.

Параметр "Общий ресурс" определяет положение общей папки на клиенте для возможности обмена файлами в rdp-сессии.

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

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

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