Vnc viewer linux инструкция

Установка VNC-сервера на Linux Ubuntu и CentOS

Содержание:

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-сервер можно следующей командой:

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

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

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

Ещё важная строка, на которую нужно обратить внимание: «New ‘X’ desktop is test:1» (Ubuntu) или «New ‘test.program.ru:1 (username)’» (CentOS). В предложении говориться о создании новой сессии с порядковым номером «1». Таких «дисплеев» можно запустить несколько и все они будут привязаны к определённым сетевым портам. Например, сессия «1» будет «висеть» по умолчанию на 5901 порте, сессия с номером «2» на 5902 и так далее по порядку.

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

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

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

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

Читайте также:  Downloadhelper для windows 10

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

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

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

Ubuntu

CentOS

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

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

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

После перезагрузки удалённого компьютера, запуск VNC-сервера не будет выполняться самостоятельно. Это можно исправить, добавив службу автозапуска.

Для начала нужно создать скрипт, при выполнении которого будет запускаться 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.
Читайте также:  Политики безопасности windows 2003

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

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

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

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

В итоге появится изображение рабочего стола с удалённого сервера.

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Источник

Работа с дистрибутивами Альт Линукс по протоколу VNC [ править ]

Данная инструкция проверена на 8-й версии дистрибутивов ALT.

С помощью xorg-extension-vnc [ править ]

1. Установите пакет xorg-extension-vnc :

2. Раскомментируйте строки в файле /etc/X11/xorg.conf.d/vnc.conf :

3. Укажите пароль для доступа к экрану:

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

По умолчанию, необходимо записать пароль в файл /root/.vnc/passwd

4. Выйдите из сеанса и запустите его снова

С помощью Vino [ править ]

Данный способ протестирован на Рабочей станции 8 и 9 и в Starterkits/Regular на основе MATE. Пакет включен в Альт Рабочая станция.

1. Установите пакет vino-mate :

2. В главном меню откройте Параметры -> Общий доступ к рабочему столу или запустите от обычного пользователя:

3. Настройте необходимые Вам параметры подключения:

4. Для первичного применения параметров необходимо перезапустить сеанс (в дальнейшем изменение настроек будет происходить мгновенно). Если пакет включен в дистрибутив — данное действие не требуется.

PS: По умолчанию включено шифрование, если оно не нужно, либо Ваш VNC-клиент не поддерживает его, отключается он следующей командой:

С помощью Krfb [ править ]

Krfb — vnc-сервер среды KDE для совместного доступа к рабочему столу. Пакет включен в Альт Рабочая Станция К 9.

1. Установить пакет kde5-krfb :

2. В главном меню выбрать «Сеть» ▷ «Krfb (Общий рабочий стол)» или запустить от обычного пользователя:

3. Настроить совместный доступ к рабочему столу:

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

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

По умолчанию используется порт 5900, изменить его можно в окне Настройка ▷ Настроить совместный доступ к рабочему столу на вкладке «Сеть»:

Krfb может использоваться совместно с KRDC.

С помощью x11vnc [ править ]

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

x11vnc [ править ]

Установить пакет x11vnc :

Запуск VNC сервера выполняется командой:

Пример запуска сервера x11vnc из командной строки:

    Указать пароль для удаленного доступа (пароль будет записан в

Поддержка файла конфигурации: если файл

/.x11vncrc существует, то каждая строка в нем обрабатывается как один параметр командной строки:

Отключить использование файла конфигурации можно опцией -norc.

Если запустить x11vnc из «Меню запуска приложений» («Интернет» → «X11VNC Server») или из командной строки:

будет запущен графический интерфейс x11vnc.

Необходимо указать номер порта и нажать кнопку «OK». В системном трее появится значок x11vnc, а на экране откроется окно с его свойствами:

В окне свойств следует поставить отметку в пункте «Accept Connections» («Принимать подключения»), указать пароль в поле «Password» («Пароль») — здесь указывается пароль для возможности управления рабочим столом, можно также указать и другие опции, если они вам необходимы, например «ViewOnly Password» («Пароль только для просмотра») — зная данный пароль можно просматривать удаленный рабочий стол, без возможности управления им. Эти пароли будут использоваться только для данной сессии.

Читайте также:  За что отвечает windows system32

x11vnc-service [ править ]

1. Установите пакет x11vnc-service (предназначен для популярных дистрибутивов с SystemD):

2. Добавьте сервис в автозапуск и запустите его:

3. Укажите пароль для удаленного доступа (необходимо записать его в /root/.vnc/passwd):

4. Параметры запускаемого сервисом сервера x11vnc указаны в скрипте запуска: /usr/sbin/x11vnc-start-daemon ( x11vnc-service >= 0.2). Для внесения изменений — просто отредактируйте в нем последнюю строчку.

Данный файл не является %config(noreplace), поэтому будет перезаписан при обновлении пакета!

В планах (когда потребуется внести какое-либо изменение в пакет) переместить параметры в отдельный конфигурационный файл.

5. Примеры настройки файла /lib/systemd/system/x11vnc.service для запуска x11vnc при старте дисплей менеджера (до авторизации пользователей):

Для дисплей менеджера lightdm :

Для дисплей менеджера sddm :

TigerVNC [ править ]

TigerVNC — клиент-сервер VNC.

Устанавливаем пакет tigervnc-server :

Многопользовательский режим [ править ]

Есть две реализации разворачивания дополнительных X-серверов:

  • централизованный сервис vncserver, отвечающий за работу всех виртуальных дисплеев;
  • несколько сервисов vncserver@:

Рассмотрим оба этих способа, у каждого есть свои плюсы и недостатки.

«Всё в одном сервисе» [ править ]

1. Добавьте в автозагрузку:

2. Далее необходимо настроить виртуальные дисплеи, их количество и параметры запуска. Для это необходимо отредактировать файл /etc/sysconfig/vncservers . Пример содержимого файла:

Переменные VNCSERVERARGS изменяет параметры по умолчанию для определенного дисплея (в квадратных скобках). Заданные пользователи — user1 и user2 — должны существовать в системе. Также для успешного старта VNC-сервера необходимо обязательно задать пароли (ничего общего с системными они не имеют) для этих пользователей (запишутся в

3. Запускаем сервис:

После этого можете проверить прослушиваемые порты:

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

Плюсом же является удобство администрирования с помощью единого файла настройки /etc/sysconfig/vncservers .

Для небольшого количества (до 3-5) пользователей данный вариант является вполне «конкурентоспособным». Если же пользователей планируется большое количество, либо просто нужна возможность перезапуска отдельного дисплея, то воспользуйтесь вторым способом.

«Каждый дисплей — отдельный сервис» [ править ]

1. Скопируйте необходимое количество (= кол-во пользователей VNC) юнитов vncserver@.service (после @ подставьте требуемый номер дисплея):

2. Приведите их к следующему виду (укажите имя пользователя и его домашнюю папку):

Для изменения дефолтных параметров подключения допишите необходимые в команде ExecStart.

3. Обновите конфигурацию сервисов и добавьте в автозагрузку необходимые из созданных:

4. Задайте пароль для всех пользователей (см. 1.3.1.2):

5. Теперь каждым пользовательским сеансом/дисплеем можно управлять отдельно:

x0vncserver [ править ]

x0vncserver — это сервер TigerVNC, который не создает виртуальный дисплей, а использует существующий X-сервер (обычно тот, который подключен к физическому экрану).

Старт сервера (предварительно следует определить пароль сеанса с помощью инструмента vncpasswd ):

VNC-клиенты [ править ]

Remmina [ править ]

Remmina — многопротокольный клиент с графическим интерфейсом.

KRDC [ править ]

KRDC — клиент VNC для среды KDE ( Сеть ▷ KRDC (Удалённый доступ к рабочему столу) ):

TigerVNC (vncviewer) [ править ]

TigerVNC — клиент-сервер VNC.

Установить VNC-клиент (пакет tigervnc ):

Подключение к серверу:

Если запустить vncviewer без аргументов, будет запущено окно VNC Viewer:

Следующая команда заставляет vncviewer прослушивать данный порт (по умолчанию 5500) для обратных подключений с сервера VNC:

noVNC [ править ]

noVNC — клиент VNC, использующий HTML5. noVNC позволяет подключиться к удалённому компьютеру без установки какого-либо клиента — используется лишь браузер.

Настройка удалённого доступа с помощью noVNC:

    Установить пакет novnc :

Для подключения к удаленному рабочему столу:

  1. Запустить браузер.
  2. В адресной строке ввести адрес удалённого компьютера и порт, на котором слушает noVNC сервер.
  3. В открывшемся окне ввести VNC пароль и нажать кнопку «Connect» («Подключиться»):

Источник

Оцените статью