Настройка vnc astra linux

Обновлено: 03.07.2024

Взаимодействие по протоколу 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/fly-dmrc в секции [Xdmcp] изменить значение параметра EnableAll с false на true (если такого параметра нет - то добавить его):

На Windows клиенте

Если используется межсетевой экран (который в Windows включен по умолчанию), то разрешить в нём работу приложения "VcXsrv windows xserver" (соответствующие правила имеются в межсетевом экране - "все входящие TCP" и "все входящие UDP).

Через графическое меню запустить Xlaunch

Выбрать One large window

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

Поиск хостов

Далее в "дополнительных настройках" в строке Additional parameters for VcXsrv необходимо указать:



Нажать кнопку "Далее" и кнопку "Готово".


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

Взаимодействие по протоколу RDP

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

sudo apt install xrdp

На компьютере Windows использовать mstsc.

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

  • "Xorg" для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и Astra Linux Special Edition РУСБ.10015-16 исп. 1;
  • "session-xorgxrdp" для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5).

Ввести логин, пароль и нажать "ОК"

При подключении создается новая отдельная сессия.

Запуск приложений от root-а при входе через xrdp

Для запуска приложений от root-a при входе через xrdp следует скопировать пользовательский конфигурационный файл в каталог /root:

Особенности работы RDP в Astra Linux SE (пустой снимок экрана при удалённом подключении через RDP)

В Astra Linux SE при подключении по RDP по умолчанию запрещено делать снимки экрана при удалённом подключении.

Для того, чтобы разрешить снимки, следует в файл /etc/X11/trusted добавить строчку:

Взаимодействие по протоколу RDP и vino

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

Установка и настройка пакетов

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

sudo apt install vino xrdp

В файле /etc/xrdp/xrdp.ini в настройках протокола Xvnc изменить порт 5910 на 5900 и перезапустить xrdp:

Настройка vnc-сервера.

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

Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:

Настройка пароля для vnc-сервера.

Для того, чтобы vnc-сервер запрашивал пароль при подключении клиентской машины, на сервере необходимо установить пакет libglib2.0-bin

sudo apt install libglib2.0-bin

и задать пароль для удалённого входа в сессию выполнив команды (вместо слова password подставить пароль):

gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password "$(echo -n " password " | base64)"

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

Настройка vnc-клиента.

Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:

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

Клиент XfreeRDP

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

Установить пакет freerdp2-x11:

sudo apt install freerdp2-x11

xfreerdp /u:winuser@windomain.name /v:winserver.windomwin.name

Клиент Remmina

Для установки клиента Remmina на 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 следует:

  • использовать на клиенте пакет xserver-xephyr версии 1.20.10-3ubuntu5astra [.se] 1 или выше;
  • использовать описанные выше настройки сервера Astra Linux и клиента Astra Linux;
  • дополнительно, только в Astra Linux Special Edition:
    • на сервере: в файле /etc/X11/fly-dm/fly-dmrc в секции [Xdmcp] найти и задать параметр EnableAll=true (если параметра нет, добавить его вручную);
    • на клиенте:

      в файле /etc/X11/trusted отредактировать строку разрешения для /usr/bin/Xephyr, приведя ее к виду:

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

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


      Россия
      • размер шрифта уменьшить размер шрифтаувеличить размер шрифта
      • Печать
      • Эл. почта
      • Станьте первым комментатором!

      Подключаемся по SSH и VNC с помощью Remmina в Astra Linux. Альтернатива Hyper-V под Linux. Часть 6.

      Сегодня мы рассмотрим использование Remmina для подключения к удаленному серверу с помощью протоколов SSH и VNC.

      Работая с OpenNebula вам постоянно придется работать с виртуальными машинами через протокол VNC. Дело в том, что это единственный способ получить прямой доступ к виртуальному серверу, как если бы к нему был присоединён монитор с клавиатурой. Даже при перезагрузке виртуального сервера вы сможете увидеть процесс загрузки, т.е. связь с ним, пока он запущен не пропадет при использовании данного протокола.

      Протокол SSH понадобится для безопасного соединения с любым сервером и ПК на базе Astra Linux.

      Соединяемся с удаленным ПК по протоколу VNC

      Remmina поддерживает данный протокол.

      Запустим Remmina и добавим новый профиль. В разделе Протокол выберем VNC – просмотр VNC

      Заполним, как показано на рисунке.

      При этом 192.168.1.20 – адрес сервера OpenNebula

      OpenNebula автоматически назначает порты для VNC для каждой виртуальной машины. Первыми всегда идут цифры 59, далее ID виртуальной машины, например, (5901, 5906, 5914)

      2021-11-08_14-24-03.jpg

      Не забудьте выставить Глубину цвета равной 32 бит/пиксель

      Два раза щелкните на профиль VNC1, откроется окно с нашей виртуальной машиной

      2021-11-08_14-25-51.jpg

      К сожалению, Remmina не поддерживает работу с буфером обмена по протоколу VNC, так что скопировать какой-либо текст на виртуальную машину или с неё не получится.

      VNC поддерживает авторизацию с помощью пароля. Настройку OpenNebula для авторизации по логину/паролю при соединении к виртуальной машине по протоколу VNC мы рассмотрим в одной из следующих статей.

      Подключение к удаленному серверу по SSH

      Remmina поддерживает соединение по протоколу SSH.

      Для организации соединения создадим новый профиль и выберем в разделе протокол – пункт SSH – безопасная оболочка

      Введите IP-адрес сервера и имя пользователя.

      Вы так же можете сохранить пароль, что не рекомендуется из соображений безопасности!

      2021-11-08_15-13-39.jpg

      Два раза щелкните на профиль Astra1, откроется удаленная консоль:

      2021-11-08_15-11-51.jpg

      Remmina, кроме авторизации по паролю, поддерживает и другие способы:

      2021-11-08_15-14-35.jpg

      Некоторые из них мы рассмотрим в одной из следующих статей.

      Заключение

      Сегодня мы рассмотрели использование Remmina для подключения к удаленному ПК или серверу по протоколам SSH и VNC.


      Серверы VNC, как известно, сложно настроить, особенно если вы новый пользователь Linux, пытаясь понять, как управлять одним ПК с другого. К счастью, RealVNC существует. Это кроссплатформенное решение VNC, которое очень просто настроить. RealVNC имеет превосходную поддержку многих различных дистрибутивов Linux, включая Ubuntu, Debian, Fedora, Arch Linux, OpenSUSE и многие другие. Чтобы использовать RealVNC в Linux, выберите ниже свою операционную систему и введите соответствующие команды!

      Примечание. Если ваш дистрибутив Linux не поддерживает DEB, RPM или Arch AUR, вам необходимо следовать инструкциям «Generic Linux».

      Ubuntu

      RealVNC имеет как серверный компонент, так и программу просмотра. Загрузите VNC Connect на ПК с Linux (или сервер), который будет хостом VNC, и загрузите клиентское приложение на удаленный ПК, подключенный к нему. Чтобы получить VNC Connect, перейти на официальный сайт , выберите DEB и загрузите пакет на свой компьютер. Скачайте приложение VNC Viewer здесь .

      Проверь это - Стоит ли использовать Hubitat для автоматизации своего умного дома?

      Установка VNC Connect

      После завершения загрузки пакета VNC Connect DEB откройте файловый менеджер. Щелкните «Загрузки» и дважды щелкните пакет DEB с надписью «VNC-Server-6.3.1-Linux-x64.deb». Двойной щелчок по пакету VNC Server DEB мгновенно откроет Центр программного обеспечения Ubuntu. Нажмите «Установить», чтобы загрузить программное обеспечение на свой компьютер с Ubuntu.

      Либо, если у вас нет доступа к Ubuntu Software Center или вы предпочитаете терминал, установите VNC Connect с помощью инструмента dpkg:

      Установка VNC Viewer

      Выберите папку «Загрузки» в файловом менеджере Ubuntu, найдите «VNC-Viewer-6.18.625-Linux-x64.deb» и дважды щелкните по нему, чтобы запустить Центр программного обеспечения Ubuntu. Нажмите «Установить», чтобы начать установку.

      Предпочитаете терминал? Выполните следующие команды в окне терминала:

      Debian

      Поддержка Debian не описана специально на веб-сайте RealVNC, но, учитывая тот факт, что Ubuntu и Debian имеют схожие архитектуры, заставить программное обеспечение работать не должно быть проблемой. Для начала скачать пакет VNC Connect DEB к машине Linux, на которой размещается VNC.

      Загрузите VNC Viewer на компьютер Debian, который будет удален. После загрузки обоих пакетов следуйте приведенным ниже инструкциям.

      Установка VNC Connect

      Откройте файловый менеджер в Debian и выберите папку «Загрузки». Затем найдите «VNC-Server-6.3.1-Linux-x64.deb» и дважды щелкните его, чтобы открыть пакет в инструменте установки пакетов GDebi. Нажмите «Установить» и введите пароль для установки серверного программного обеспечения. Также можно установить через терминал с помощью:

      Установка VNC Viewer

      Инструкции по терминалу:

      Arch Linux

      Официального программного обеспечения RealVNC для Arch Linux нет. Однако это в AUR. Чтобы установить сервер, сделайте следующее:

      RealVNC Viewer также находится в AUR и устанавливается аналогичным образом. Имейте в виду, что эта версия программы просмотра VNC устарела. Используйте на свой риск!

      Чтобы начать установку, клонируйте последнюю версию pkgbuild.

      Fedora

      Подобно Ubuntu и Debian, Fedora имеет первоклассную поддержку RealVNC. Чтобы установить серверный компонент программного обеспечения, перейдите на страница загрузки , выберите «RPM» и нажмите «Загрузить».

      Когда пакет RPM загружен, откройте терминал и используйте инструмент управления пакетами DNF для его установки.

      Установите VNC Viewer с помощью:

      OpenSUSE

      OpenSUSE поддерживает программное обеспечение RealVNC через пакеты RPM. Чтобы установить их, скачать пакет и сделайте следующее:

      Общие инструкции Linux

      Для тех, кто работает с менее известными дистрибутивами Linux, Real VNC имеет общий двоичный архив как для сервера, так и для приложения просмотра. Скачайте архив сервера к ПК, на котором будет установлено соединение, и зритель на удаленную машину. Затем откройте терминал и выполните приведенные ниже команды, чтобы запустить RealVNC.

      Проверь это - Как получить жесты сенсорной панели Macbook в Linux

      Настроить RealVNC Server

      Поскольку RealVNC призван упростить настройку VNC для обычного пользователя, и здесь не так много вещей, которые нужно настраивать. Единственное, что нужно сделать, это включить службу systemd на сервере. В терминале запустите службу с помощью systemctl.

      При запуске службы RealVNC systemd на рабочем столе Linux на панели задач отображается значок VNC. Щелкните по нему, чтобы запустить инструмент графического интерфейса сервера.

      В инструменте с графическим интерфейсом вы можете изменять способ работы серверного приложения RealVNC.

      Подключение

      Подключиться к удаленному компьютеру, на котором запущено серверное приложение RealVNC, очень просто. Чтобы запустить удаленное соединение, введите имя компьютера (также известное как имя хоста) в поле поиска. RealVNC найдет компьютер и немедленно установит новое соединение.


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


      Virtual Network Computing (VNC) – система управления удалённым рабочим столом, использующая протокол RFB ( Remote FrameBuffer , англ. «удалённый кадровый буфер»). Соединение осуществляется между двумя устройствами: клиентом (управляющее) и сервером (подчиняющееся).

      Взаимодействие между системами происходит путём передачи откликов с периферии клиента (мышь, клавиатура и т. д.) и ретрансляции изображения с удалённого компьютера. Для создания сессии, на каждой из сторон должно быть установлено соответствующее ПО: VNC-клиент (VNC Viewer) и VNC-сервер (VNC Server).

      Подробнее узнать, что из себя представляет технология управления удалённым рабочим столом можно здесь.

      Далее будет рассказано о том, как установить VNC на Linux и обезопасить подключение. Инструкция подойдёт для двух популярных дистрибутивов: Ubuntu (18.04 и 20.04) и CentOS 7. В качестве VNC-сервера будет использоваться TightVNCServer.

      Подготовка

      Обновление компонентов

      Перед началом выполнения каких-либо действий нужно обновить компоненты системы. Для CentOS также будет установлены дополнительные пакеты: EPEL репозиторий и текстовой редактор Nano.

      Ubuntu

      CentOS

      Установка окружения

      Управление системой через подключение VNC осуществляется посредством графической среды. За основу в статье будет взято окружение XFCE, стабильно работающее в связке с TightVNCServer. Чтобы установить эту оболочку со всеми дополнениями, нужно ввести следующую команду в терминал:

      Ubuntu

      CentOS

      Установка TightVNCServer

      Инсталлировать пакет TightVNCServer вместе с зависимостями можно командой:

      Ubuntu

      CentOS

      Настройка фаервола CentOS

      На серверах под управлением CentOS брандмауэр по умолчанию блокирует доступ к сети сторонним программам. Чтобы дать разрешение TightVNCServer открывать сетевые порты, понадобится ввести команду:

      Теперь нужно применить изменения:

      Настройка VNC-сервера

      Для начала необходимо произвести «пробный» запуск TightVNCServer, чтобы программа создала конфиги, которые позже понадобятся для настройки VNC. Все файлы сохраняются в домашней папке пользователя, от имени которого запускается программа.

      Запустить VNC-сервер можно следующей командой:

      TightVNCServer

      Далее программа попросит придумать пароль (от 6 до 8 символов), который в дальнейшем будет использоваться для подключения к сессии VNC.

      Сменить пароль можно в любой момент командой «vncpasswd».

      А также пользователю будет задан вопрос: «Would you like to enter a view-only password (y/n)?» («Вы хотите ввести пароль только для просмотра (да/нет)?») Функция позволяет подключиться к сессии для демонстрации. То есть пользователь будет видеть всё, что происходит на экране, но не сможет управлять удалённым компьютером. Если применять возможность не планируется, то стоит выбрать ответ «n» («нет»).

      Подготовка VNC для работы с окружением XFCE

      Чтобы при подключении к сессии запускалась графическая среда, необходимо выполнить настройку VNC для работы с XFCE.

      Не стоит забывать, что все действия требуется выполнять с одной и той же учётной записи Linux.

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

      Теперь нужно удалить старый конфигурационный файл, отвечающий за запуск графической оболочки:

      И создать вместо него новый:

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

      Ubuntu

      CentOS

      Для сохранения нужно воспользоваться сочетанием клавиш «Ctrl+X», затем «Y» и подтвердить внесений изменений нажатием «Enter».

      Остаётся сделать созданный файл исполняемым:

      Настройка автозапуска

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

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

      Переменные, на которые стоит обратить внимание:

      • «DISPLAY» – номер запускаемой сессии;
      • «DEPTH» – глубина цвета;
      • «GEOMETRY» – разрешение экрана.

      Остаётся сделать файл исполняемым, чтобы скрипт стал доступен для запуска:

      Теперь можно использовать следующие простые команды, чтобы управлять VNC-сервером:

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

      В создаваемый файл вносится следующий код:

      В переменную «User» вводится логин пользователя Linux, от имени которого будет запускаться VNC-сервер.

      Теперь нужно сохранить файл и добавить созданную службу в автозагрузку:

      Для применения настроек остаётся перезапустить демон systemd и VNC-сервер следующими командами:

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

      Обеспечение безопасности VNC

      Использовать VNC в «голом» виде не рекомендуется по нескольким причинам:

      • Отсутствие шифровки трафика.
      • На сервере открыты порты, которые может атаковать злоумышленник.
      • Пароль ограничен 8 символами.

      Всё это делает использование VNC небезопасным. Но есть решение проблемы: туннелирование трафика через протокол SSH, который надёжнее реализован и поддерживает шифровку проходящих данных.

      Настройка туннелирования трафика через SSH

      Для начала нужно запретить доступ к VNC-серверу извне, чтобы исключить возможность атаки по открытому порту (5901, 5902 и т. д.). Для этого необходимо отредактировать скрипт, созданный на ранних этапах настройки TightVNCServer:

      В файле заменяются строки:

      «-localhost» – разрешает подключаться к порту только с самого сервера.

      После сохранения скрипта необходимо перезагрузить VNC для применения изменений:

      Подключение

      Выполнить подключение с туннелированием трафика на Unix-системах можно с помощью встроенной консольной утилиты. Команда составляется следующим образом:

      Значения, которые нужно изменить на собственные:

      • «user» – имя пользователя;
      • «xxx.xxx.xxx.xxx» – IP-адрес сервера.

      Утилита запросит пароль для входа в учётную запись. Внешне подключение будет ничем не отличаться от обычного соединения с сервером через SSH. Туннелирование будет работать до тех пор, пока сессия не будет закрыта.

      Windows

      Установка соединения на Windows будет рассмотрена на примере распространённого клиента Putty.

      Алгоритм подключения
      1. Открыть программу и перейти по пути: «Соединение» -> «SHH» -> «Туннели».
      2. В поле «Исходный порт» нужно ввести значение «5901», а в «Назначение» подставить «localhost:5901». Для применения параметров необходимо нажать «Добавить».Можно создать несколько таких профилей, изменив «5901» на значения других портов («5902», «5903» и т. д.), если планируется подключить сразу несколько сессий.
      3. Теперь можно вернуться в исходный раздел «Сеанс», ввести данные для подключения к серверу через SSH и нажать «Соединиться».

      Чтобы заново не проходить операцию настройки каждый раз, можно сохранить параметры в профиль. Для этого нужно ввести произвольное имя в поле «Управление сеансами» и нажать «Сохранить».

      1. В открывшемся окне нужно ввести данные для подключения к серверу. Туннелирование начинает работать с этого момента и проходит незаметно для пользователя. Для поддержания соединения достаточно не прерывать сессию SSH.

      Подключение к сессии VNC

      Подключиться по VNC к Linux можно с помощью клиента TightVNC Viewer, который доступен для загрузки на официальном сайте. Для остальных программ алгоритм установки соединения будет аналогичен.

      Сначала нужно открыть TightVNC Viewer и в поле «Remote Host» ввести внешний IP-адрес сервера и порт, разделяя их двоеточием («:»). Если подключение осуществляется с туннелированием трафика, то вместо IP-адреса подставляется стандартное значение локального хоста (например, «localhost» или «127.0.0.1»). Для установки соединения нужно нажать «Connect».

      TightVNC Viewer

      Откроется окно, в котором программа запросит пароль. Для подтверждения остаётся нажать «ОК».

      Читайте также: