- Vino и Vncviewer Удалённое подключение из Astra Linux к текущей сессии пользователя в Astra Linux
- Подготовка подключения
- Серверное приложение Vino
- Установка
- Запуск
- Клиентское приложение Vncviewer
- Установка
- Подключение
- Защита соединений
- Туннель SSH
- Термины
- Remote Desktop
- RDP
- Описание стенда
- Настройка Astra Linux
- Клиент xfreerdp
- Клиент remmina
- Настройка Windows
- Разрешение удаленного запуска приложений
- Подключение к Remote Desktop из Astra Linux
- Клиент xfreerdp
- Клиент remmina
- Запуск удаленного приложения (RDS) из Astra Linux
- Создание ярлыка на рабочем столе для запуска удаленного приложения
- Запуск отдельного приложения с помощью клиента remmina
- Windows → Linux
- Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
- Взаимодействие по протоколу RDP
- Взаимодействие по протоколу RDP и vino
- Astra → Windows
- XfreeRDP
- Linux → Linux
- VNC
- Зашифрованный канал связи ssh
- Не зашифрованный XDMCP
Vino и Vncviewer Удалённое подключение из Astra Linux к текущей сессии пользователя в Astra Linux
Данные способы не рекомендуются для использования так как они не являются безопасными способами подключения. Категорически не рекомендуется использовать доступ без пароля. При использовании защиты паролями следует помнить, что протокол VNC ограничивает длину пароля восемью символами.
Подготовка подключения
- На компьютере, к которому будет выполняться подключение (сервер):
- Должно быть установлено серверное приложение VNC;
- Должно быть запущено серверное приложение. При необходимости серверное приложение может быть запущено из сессии SSH.
Порядок установки и запуска серверных и клиентских приложений описан ниже.
Серверное приложение может быть запущено:
- Из графической сессии пользователя (при этом оно будет обеспечивать подключение к этой графической сессии);
- Из консольной сессии. При запуске из консольной сессии (включая сессию удалённого подключения по SSH) необходимо будет указать, к какой именно графической сессии должно будет осуществляться подключение, для чего перед командой запуска указать идентификатор дисплея в формате «DISPLAY=:номер»:
В примере используется идентификатор дисплея «:0», это дисплей графической сессии по умолчанию.
Получить идентификатор дисплея, используемого в текущей графической сессии, можно запустив в этой сессии терминал (горячая клавиша Alt-T) и выполнив команду:
Серверное приложение Vino
Установка
Запуск
Клиентское приложение Vncviewer
Установка
Подключение
Защита соединений
Туннель SSH
Для защиты данных, передаваемых между сервером и клиентом VNC, можно использовать встроенные средства SSH. Для этого на сервере устанавливается и запускается серверная служба SSH.
Для создания защищенного SSH-соединения с сервером выполнить команду на клиентской машине :- 5901 — номер локального IP-порта, через который осуществляется туннелирование (возможно выбрать любой свободный IP-порт, в том числе IP-порт 5900 (это номер IP-порта VNC, применяемый по умолчанию));
- 5900 — номер IP-порта на сервере, на который осуществляется туннелирование (5900 — это номер IP-порта VNC, применяемый по умолчанию, можно выбрать другой, но тогда на сервере при запуске серверного приложения нужно будет указать, к какому IP-порту следует подключаться этому приложению);
- user — имя пользователя на сервере. Подключение к серверу выполняется под этим именем;
- server — имя или IP-адрес сервера;
После этого подключение к VNC на сервере можно будет выполнять через локальный IP-порт клиента, например, выполнив команду на клиенте:
Термины
Служба Удаленных Рабочих Столов (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
Клиент remmina
Установить пакет remmina, предоставляющий программу-клиента remmina можно командой:
После установки клиент доступен для запуска из командной строки, команда remmina или из графического меню («Пуск» — «Сеть» — «Remmina») . Описание параметров запуска из командной строки доступно в справочной системе man:
Настройка Windows
Включение удаленного подключения Remote Desktop на Windows
Через Свойства системы –> вкладка Удаленный доступ разрешить удаленные подключения к компьютеру и выбрать параметры подключения (разрешить подключения с любых компьютеров):
Разрешение удаленного запуска приложений
По умолчанию удаленный запуск приложений в MS Windows запрещен. Чтобы разрешить его необходимо:
После включения службы RDS для запуска удаленного приложения (кроме устанавливаемых по умолчанию приложений калькулятор и Paint) необходимо выполнить следующие действия:
- Перейти в меню «Службы удаленных рабочих столов.» — «QuickSessionColleciton»;
- В пункте «Удаленные приложения «Remoteapp» нажать кнопку «Задачи» , после — «Опубликовать удаленное приложение RemoteApp»;
- Выбрать нужное приложение и нажать «Опубликовать».
Подключение к Remote Desktop из Astra Linux
Клиент xfreerdp
Для запуска клиента xfreerdp:
- Открыть терминал командной строки с помощью горячей клавиши Alt+T;
- Запустить клиента из командной строки, указав параметры подключения к серверу:
Клиент remmina
Клиент remmina предоставляет графическую оболочку для ввода параметров подключения, в том числе — графический редактор параметров подключения (в стартовом окне remmina — желтая кнопка с символом «+»):
Обязательным параметром подключения является параметр «Сервер» (IP-адрес или имя сервера, к которому должно выполняться подключение), остальные параметры могут быть запрошены при подключении. По умолчанию подключение выполняется к удаленному рабочему столу (Remote Desktop).
Запуск удаленного приложения (RDS) из Astra Linux
Запуск удаленного приложения осуществляется с помощью той же программы xfreerdp, что и подключение к Remote Desktop. Команда отличается указанием запускаемого приложения (опция /app):
В качестве значения параметра /app м ожет указываться псевдоним приложения или имя исполняемого файла (/app:»win32calc»). Первый вариант применим при работе со службой RDS, второй вариант — при работе без службы RDS. Дополнительная необязательная опция /cert-ignore позволяет избежать запроса подтверждения при запуске удаленного приложения с недоменной машины (когда отсутствует возможность автоматической проверки сертификата сервера приложений).
Создание ярлыка на рабочем столе для запуска удаленного приложения
Для создания ярлыка на рабочем столе Astra Linux, следует щелкнуть правой кнопкой мыши → Создать → Ярлык.
Ввести имя ярлыка, выбрать иконку ярлыка и запускаемую команду. Например:
Запуск отдельного приложения с помощью клиента remmina
Клиент remmina предоставляет возможность осуществить ограниченное подключение к удаленной машине с запуском единственного приложения.
Для настройки запуска отдельного приложения
- Запустить remmina;
- Перейти в графический редактор подключений remmina;
- Перейти во вкладку «Дополнительные»;
- В пункте «Запуск программы» указать псевдоним приложения или имя файла запускаемой программы. Дополнительно может потребоваться указать путь к исполняемому файлу (пункт «Путь запуска»).
Windows → Linux
Взаимодействие по протоколу XDMCP с использованием X-сервера для 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
При подключении через «удаленный рабочий стол» выбрать » session-xorgxrdp «
Ввести логин, пароль и нажать «ОК»
При подключении создается отдельная сессия.
Взаимодействие по протоколу RDP и vino
Наши разработчики сделали вариант xrdp и vino, позволяющие использовать режим «интерактивной доски» с авторизацией клиентов. Также это подойдет для настройки удаленного доступа.
P.S. Это ПО будет сертифицировано в составе Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Скачать vino и libtelepathy_glib:
sudo dpkg -i ~/Загрузки/vino_3.20.2-1astra1_amd64.deb
sudo dpkg -i ~/Загрузки/ libtelepathy-glib0_0.18.2-2_amd64.deb
Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:
Настройка пароля для vnc-сервера.
Для того, чтобы vnc-сервер запрашивал пароль, при подключение клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
gsettings set org.gnome.Vino authentication-methods «[‘vnc’]»
gsettings set org.gnome.Vino vnc-password «$(echo -n «пароль» | base64)»
Настройка vnc-клиента.
Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:
При подключении к серверу, в меню приглашения выбрать пункт vnc-any, указать ip-адрес сервера, и пароль к сессии:
Astra → Windows
XfreeRDP
«Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».
Linux → Linux
VNC
сервер (Astra):
Залогиниться в системе под пользователем
Запустить сервер VNC:описание:
VNC-сервер позволяет подключаться к текущему сеансу пользователя других клиентовЗашифрованный канал связи ssh
На сервере установить в /etc/ssh/sshd_config
X11Forwarding yes X11UseLocalhost no
ForwardX11 yes ForwardX11 Trusted yes
Не зашифрованный XDMCP
сервер: fly-dm
клиент: fly-dm
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *
# 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: