Исходя из названия приложения VNC Viewer, многие пользователи сразу могут догадаться, к какому классу программного обеспечения оно относится, например, проведя аналогию с известным пакетом TeamViewer. Однако рядовые пользователи могут столкнуться с такой утилитой впервые, поэтому стоит отдельно остановиться на некоторых вопросах, связанных с тем, как и какую модификацию программы лучше установить, как настроить приложение для оптимального режима работы, как пользоваться VNC Viewer, «выжав» из приложения максимум его возможностей.
Общие сведения о программе VNC Viewer
Вам будет интересно: Как проверить потерю пакетов: инструкция и рекомендации
Для начала кратко остановимся на том, что представляет собой этот программный продукт, рассмотрим, для чего он предназначен. Исходя из выше приведенной аналогии, можно сказать, что VNC-клиент — это универсальное приложение, позволяющее в считаные минуты организовать доступ к удаленному компьютеру.
Удаленное управление компьютером через VNC Windows.
То есть данную программу можно отнести к классу RDP-приложений, предназначенных для подключения к удаленному «Рабочему столу». Однако только доступом к удаленным компьютерам дело не ограничивается, поскольку в самой программе имеется еще немало дополнительных возможностей:
- Полное управление настройками без ограничений в полноэкранном или оконном режиме.
- Трансфер файлов.
- Возможность отсылки сообщений через встроенный чат.
- Блокирование периферийных устройств, если это необходимо (мыши, клавиатуры и т. д.).
- Возможность доступа к подключенным ПК через браузер.
- Организация подключения с несколькими терминалами одновременно.
Вам будет интересно: Тег strong в HTML
Сразу же стоит отметить, что технология Virtual Network Computing (VNC)имеет и еще одно неоспоримое преимущество, если сравнивать с аналогами. Дело в том, что в ней есть возможность установки серверной и клиентской части (в зависимости от того, какой именно тип подключения будет использоваться в дальнейшем), плюс, тонкая настройка ПО для каждого варианта установки с целью обеспечения максимальной производительности.
Особенности выбора инсталляционного дистрибутива
Прежде чем приступать к установке, необходимо определиться с выбором модификации VNC-клиента, который предполагается установить. Во-первых, сама программа является кроссплатформенной, может инсталлироваться практически во все известные стационарные и мобильные операционные системы. Во-вторых, для тех же ОС Windows можно найти версии программы RealVNC, TightVNC, UltraVNC и облегченную модификацию UltraVNC SC (все версии совместимы между собой, однако некоторые функции могут оказаться недоступными), для Mac OS X – Chicken и JollysFastVNC. В-третьих, следует определиться с типом устанавливаемого клиента (серверная часть используется для организации подключения с центральной машины к дочерним терминалам, а клиентская – для подключения с дочерних машин к центральному серверу).
Про VNC Viewer…
В-четвертых, непосредственно на официальном ресурсе разработчика можно выбрать предпочитаемый формат файла установщика VNC Viewer для Windows (EXE, MSI) или загрузить дистрибутив в виде запакованного архива ZIP. Последний пункт – по желанию пользователя.
Установка VNC Viewer
Теперь перейдем непосредственно к инсталляции выбранного программного продукта. Заметим, что практически для всех модификаций процесс установки выглядит одинаково.
Для старта инсталляции в Windows версий 7 и выше файл установщика VNC-клиента запускается исключительно с администраторскими привилегиями (в меню ПКМ выбирается пункт запуска от имени администратора). В самом процессе инсталляции нет ничего необычного.
Пользователю нужно выбрать предпочитаемый язык, принять условия лицензионного соглашения, указать путь установки (его можно не менять), на одной из стадий добавить значок на «Рабочий стол», а затем просто нажать кнопку старта установки.
Первый запуск приложения
Предположим, что программа инсталлирована, а пользователь производит ее первый запуск. Изначально настройки VNC Viewer не очень сложные. При первом старте будет показано окно, в котором можно выбрать желаемое действие. Но будем исходить из того, что нам нужно осуществить подключение самостоятельно.
Как пользоваться VNC Viewer?
Сначала через файловое меню выбираете пункт нового подключения (New Connection), а затем в новом окне вводите IP-адрес удаленного терминала или полное название компьютера (адрес можно узнать на подключаемой машине, воспользовавшись свойствами интернет-соединения или командной строкой с вводом команды ipconfig, а имя компьютера можно просмотреть в свойствах системы). После этого появится окошко запроса пароля, в котором нужно ввести искомую комбинацию. При соответствии комбинации установленному на удаленном компьютере паролю появится удаленный «Рабочий стол».
Рекомендации по выбору оптимального режима работы
Как пользоваться VNC Viewer для создания подключения, мы разобрались. Теперь несколько слов по поводу предпочитаемых настроек.
Если внимательно посмотреть на окно создания соединения, в нем можно обнаружить вкладку для экспертов. Если в этих настройках выбрать, например, предпочитаемые алгоритмы сжатия передаваемых и принимаемых данных, то можно существенно снизить нагрузку на центральный процессор и оптимизировать применение технологии Virtual Network Computing даже для сетей с пропускной способностью на уровне 256 кбит/с. Для графики рекомендуется устанавливать высокий уровень компрессии (Compression Level) с минимальным качеством (JPEG Quality), а в качестве дополнительной оптимизации активировать уменьшение количества цветов (Restricted Colors или bgr233).
Кроме того, стоит обратить внимание, что на одном терминале может использоваться подключение к нескольким машинам на основе базового порта 5900 через параметр дисплея. По умолчанию основной дисплей имеет значение «0», а для всех остальных оно увеличивается («1», «2» и т. д.).
Соответственно, изменятся порт (5901, 5902 и т. д.), который нужно будет указывать после адреса через двоеточие (например, 192.168.0.5:5901). В случае с динамическими (а не статическими) адресами, дополнительно можно воспользоваться получением динамического DNS, например, на основе DynDNS. Можно выставить такую настройку на маршрутизаторе или зарегистрироваться на портале сервиса в интернете. В этом случае служба будет передавать установленному клиенту все сведения, связанные с изменением IP подключаемого компьютера.
Возможные сбои в работе программы
В основном сбои могут быть связаны только с тем, что в данный момент на компьютере попросту отсутствует интернет-подключение или занят соответствующий порт, используемый программой по умолчанию. Иногда можно заметить блокировку со стороны антивирусов и файрволов. Но решаются эти проблемы достаточно просто.
Некоторые распространенные методы устранения проблем
Среди основных методов устранения возможных сбоев при попытке установки подключения можно порекомендовать следующие:
- Внесите установленную программу в список приложений, которым разрешено использовать интернет-соединение в брандмауэре Windows.
- Создайте новые правила для порта 5900 исходящего и входящего подключений.
- Если предыдущее решение не поможет, выполните проброс порта 5900 на маршрутизаторе.
- Внесите программу в список исключений антивируса.
- Проверьте правильность указания статического адреса и пароля доступа к удаленному терминалу.
Итоги
Вот кратко и все, что касается вопроса, как пользоваться VNC Viewer. Как видим, ничего особо сложного тут нет. В завершение стоит отметить, что в некоторых случаях целесообразно использовать не пароли, устанавливаемые непосредственно в операционных системах, а заранее выполнять вход в регистрационную запись в самом клиенте, предварительно создав ее на специальном ресурсе. В этом случае вы не будете зависеть от учетных записей на Windows.
Источник: ruud.ru
VNC – технология наблюдения и удаленного управления компьютером
В этой статье вы узнаете, как с помощью технологии удаленного подключения к рабочему столу VNC наблюдать за действиями учащихся, а также подключаться к машинам класса с целью выполнения любых действий в операционной системе.
1. Мониторинг рабочих мест – задачи и способы
Контроль состояния машин учащихся – один из важнейших поддерживающих процессов в информационной системе учебного класса. Системный администратор должен в любой момент времени знать состояние всех компонентов сети – серверов, каналов связи, коммутационного оборудования, рабочих мест учащихся и преподавателей. Для этого, в частности, необходим автоматизированный мониторинг процессов, происходящих на машинах пользователей. К сведениям о состоянии рабочего места может относиться информация о:
- событиях аудита, связанных с функционированием системного программного обеспечения – операционной системы, СУБД;
- событиях и ошибках функционирования прикладного программного обеспечения, установленных на рабочих местах пользователей и серверах компьютерной сети;
- состоянии информационного процесса на рабочих местах пользователей и серверах: перечни запущенных на компьютере процессов, установленных сетевых подключений, открытых файлов, а также действиях, выполняемых пользователем.
В настоящей серии статей будут рассмотрены средства и способы получения таких сведений администратором класса, осуществляющим контроль работоспособности рабочих мест учащихся, на которых установлены операционные системы семейства Linux.
С точки зрения дистанционного учебного процесса, одна из важнейших задач контроля состояния рабочих мест – наблюдение за рабочим столом, а в более общем случае – доступ к рабочему столу и возможность удаленного управления. Решать эту задачу призвана технология VNC.
2. Технология VNC – принципы работы
Общий принцип удаленного доступа к рабочему столу на другой машине можно описать так. Команды, поступающие от вашей клавиатуры и мыши, передаются на удаленный компьютер по сети, оттуда вы постоянно получаете снимки экрана. Таким образом, при достаточной скорости сетевого соединения пользователь фактически работает за удаленным компьютером.
Система удаленного доступа к рабочему столу Virtual Network Computing (VNC) была разработана компанией AT
К задачам контроля состояния рабочих мест пользователей в виртуальном учебном классе относятся только первые две позиции из приведенного списка. Понятно, что администратор подключается непосредственно к рабочему столу учащегося и видит то же, что и пользователь, сидящий за компьютером. В то же время желательно, чтобы при подключении администратора с целью выполнения контролирующих действий это происходило незаметно для пользователя.
Прежде чем перейти к решению поставленных задач, найдем среди установленных программ (или установим на компьютер самостоятельно) средства, реализующие VNC.
Средства VNC входят во многие дистрибутивы unix-систем. Если в вашем случае это не так, можно воспользоваться бесплатной реализацией технологии VNC – программой TightVNC. В случае, если VNC-сервер имелся в дистрибутиве операционной системы и был развернут при ее установке, он зарегистрирован как служба и может быть запущен через консоль управления. Клиентская часть (vncviewer) находится, скорее всего, в каталоге /usr/bin/. Так что прежде чем приступать к описанным в следующем разделе действиям, проверьте список сервисов операционной системы.
3. Установка и настройка TightVNC
На сайте разработчика tightvnc.org доступна последняя версия программы (на сегодняшний день это 1.3.10) в исходных текстах. Можно также попробовать найти готовый бинарный пакет для вашей операционной системы.
Разработчики предлагают инсталлировать программу в папку /usr/local/bin. После запуска скрипта установки из директории установочного пакета
#./vncinstall /usr/local/bin
в указанном каталоге появятся файлы программы:
- vncviewer – клиент программы, позволяющий подключиться к удаленному рабочему столу в оконном режиме X11;
- vncserver – скрипт-обертка для запуска X-сервера VNC; для выполнения этого сценария на компьютере должен быть установлен Perl;
- vncpasswd – программа, позволяющая изменять пароли доступа к экранам VNC-сервера. Программа сама запустится при первом старте сервера;
- vncconnect – программа для организации обратного режима работы, когда VNC-сервер подключается к VNC viewer;
- Xvnc – собственно X VNC сервер (одновременно являющийся X-сервером и VNC-сервером).
Сразу после установки программа готова к эксплуатации (используются настройки по умолчанию). Основной файл, отвечающий за параметры создания экземпляра vnc-сервера, – tightvncserver.conf – расположен в директории /etc. В случае, когда vnc-сервер уже установлен в операционной системе, те же параметры могут задаваться в файле /etc/sysconfig/vncservers.
Обязательно необходимо установить пароль на доступ к серверу. Это делается командой vncpasswd. Заданный и подтвержденный пароль будет в закрытом виде храниться в файле $HOME/.vnc/passwd.
4. Запуск vnc-сервера и подключение к нему
Для запуска Xvnc-сервера используется специальный скрипт-обертка vncserver. Общий синтаксис вызова этого сценария следующий:
vncserver [:display] [-geometry width x height] [-depth depth] [-pixelformat rgbNNN|bgrNNN] [-name desktop-name] [Xvnc-options. ]
Указывая при вызове скрипта параметры, можно задать для каждого создаваемого сеанса номер дисплея, ширину и высоту в пикселах рабочего стола, глубину цвета в битах на пиксел (от 8 до 32), формат кодирования цвета (rgb или bgr), имя рабочего стола, а также любые параметры запуска самого Xvnc-сервера.
Выполнив на рабочем месте учащегося скрипт vncserver без параметров, получим следующее:
# vncserver New ‘X’ desktop is test:1 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/test:1.log
Как видно, на нашем узле test запущен экземпляр сервера со стандартными параметрами, к которому можно обращаться через первый дисплей (при следующем запуске vncserver без параметров номер созданного дисплея будет увеличен на единицу). Если пароль vnc до этого момента не задан, он будет запрошен здесь же. Параметры, с которыми создан экземпляр сервера, указаны в файле /root/.vnc/xstartup, к которому мы еще вернемся.
Теперь с рабочего места администратора запускаем команду vncviewer. Это приводит к появлению окна с полем для ввода точки подключения. Туда вводится ip-адрес рабочего места учащегося (или имя хоста) и номер дисплея через двоеточие. Если до этого все шаги выполнены верно, следующим появляется запрос на ввод пароля.
Это тот самый пароль, который вводился при настройке (см. предыдущий раздел). Наконец, если пароль введен правильно, подключение состоялось. Перед администратором появляется окно просмотрщика с терминалом.
Для того чтобы видеть не только терминал, но и полноценный рабочий стол операционной системы, необходимо подключить оконную оболочку. Для этого обратите внимание на первые строки файла сценария xstartup, который находится в каталоге /root/.vnc/:
# Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc
Как видим, нам рекомендуется раскомментировать две строки, чтобы пользоваться обычным рабочим столом. После того как это сделано, следующий экземпляр vnc-сервера запустится в режиме полноценного рабочего стола, а файл xstartup приобретет следующий вид:
#!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic $VNCDESKTOP Desktop»
Итак, чтобы подключаться к рабочим местам учащихся, на каждой машине должен быть запущен vnc-сервер. Администратору должны быть известны номер дисплея и пароль для доступа к vnc.
Для запуска vnc-серверов администратор может воспользоваться подключением по ssh (использование этого механизма для мониторинга будет рассмотрено в следующей статье). Однако если число машин учащихся превышает, например, 10, такой способ запуска становится крайне неудобным. Поэтому хотелось бы, чтобы vnc-сервер запускался автоматически при загрузке системы.
Если средства vnc устанавливались самостоятельно, необходимо обеспечить выполнение при загрузке операционной системы запуск сценария vnvncserver.
В более распространенном случае наличия vnc в списке служб операционной системы достаточно установить флаг запуска при старте ОС через соответствующее приложение администрирования ОС (например, Service Configuration). Запуск службы vnc-сервера будет осуществляться в соответствии с параметрами, указанными в конфигурационном файле etc/vncservers.
В случае использования двух постоянных рабочих столов – одного для пользователя admin, а другого для пользователя teacher – содержимое этого файла может выглядеть, например, так:
# The VNCSERVERS variable is a list of display:user pairs. # Uncomment the line below to start a VNC server on display :1 # as my ‘myusername’ (adjust this to your own). You will also # need to set a VNC password; run ‘man vncpasswd’ to see how # to do that. # DO NOT RUN THIS SERVICE if your local area network is # untrusted! For a secure way of using VNC, see # «>https://www.comparitech.com/vpn/what-is-a-vnc-and-how-does-it-differ-from-a-vpn/>;. VNCSERVERS=»1:admin 2:teacher» # VNC options VNCSERVERARGS[1]=»-geometry 1024×768″ VNCSERVERARGS[2]=»-geometry 1024×768″
Основной в этом файле является переменная VNCSERVERS, содержащая разделенные пробелом пары «номер дисплея:имя пользователя ОС».
5. Наблюдение за сеансом пользователя
Если учащийся тоже работает с использованием технологии VNC и подключается к одному из дисплеев общего сервера, для наблюдения за его действиями администратор должен подключиться к тому же дисплею.
Все не так просто, когда учащийся работает локально на собственной машине. Если вы хотите видеть, что на самом деле происходит на мониторе пользователя, необходимо подключиться непосредственно к его текущей сессии X11. К счастью, X11 «знает» о существовании технологии vnc и даст вам возможность подключиться к сеансу через vncviewer. Достаточно лишь внести несколько изменений в конфигурационный файл X11.
Итак, в файле /etc/X11/xorg.conf добавим в секцию Screen три следующие опции:
Option «Security Types» «VncAuth» Option «UserPasswordVerifier» «VncAuth» Option «PasswordFile» «/root/.vnc/passwd»
В качестве файла паролей указывается файл, содержащий пароль vnc, заданный при настройке.
Секция Screen в результате приобретет примерно следующий вид:
Section «Screen» Identifier «Screen0» Device «Videocard0» Monitor «Monitor0» DefaultDepth 24 Option «Security Types» «VncAuth» Option «UserPasswordVerifier» «VncAuth» Option «PasswordFile» «/root/.vnc/passwd» SubSection «Display» Viewport 0 0 Depth 16 Modes «800×600» «640×480» EndSubSection SubSection «Display» Viewport 0 0 Depth 24 Modes «800×600» «640×480» EndSubSection EndSection
Теперь подключим загрузку соответствующего модуля – добавим в секцию Module того же конфигурационного файла строку Load “vnc”:
Section «Module» Load «dbe» Load «extmod» Load «fbdevhw» Load «glx» Load «record» Load «freetype» Load «type1» Load «dri» Load «vnc» EndSection
После перезапуска оконной оболочки (или перезагрузки операционной системы) текущий сеанс пользователя доступен через нулевой дисплей vnc.
6. Защита канала
В случае, когда связь между клиентом и сервером vnc осуществляется по открытому каналу (например, через каналы Интернета), возникает задача защиты передаваемых данных.
В текущей версии программы TightVNC шифрованию подлежат только передаваемые по сети пароли, при этом используется алгоритм DES, основанный на 56-разрядном ключе. Как утверждают разработчики, в их планы входит встраивание в программу механизмов шифрования трафика. Пока же пользователям рекомендуют использовать OpenSSH.
Установка 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
sudo apt update -y sudo apt upgrade -y
CentOS
sudo yum update -y sudo yum upgrade -y sudo yum install epel-release nano
Установка окружения
Управление системой через подключение VNC осуществляется посредством графической среды.
За основу в статье будет взято окружение XFCE, стабильно работающее в связке с TightVNCServer. Чтобы установить эту оболочку со всеми дополнениями, нужно ввести следующую команду в терминал:
Ubuntu
sudo apt install xfce4 xfce4-goodies
CentOS
sudo yum groupinstall xfce
Установка TightVNCServer
Инсталлировать пакет TightVNCServer вместе с зависимостями можно командой:
Ubuntu
sudo apt install tightvncserver -y
CentOS
sudo yum install tigervnc-server -y
Настройка фаервола CentOS
На серверах под управлением CentOS брандмауэр по умолчанию блокирует доступ к сети сторонним программам. Чтобы дать разрешение TightVNCServer открывать сетевые порты, понадобится ввести команду:
sudo firewall-cmd —permanent —zone=public —add-service vnc-server
Теперь нужно применить изменения:
sudo firewall-cmd —reload
Настройка VNC-сервера
Для начала необходимо произвести «пробный» запуск TightVNCServer, чтобы программа создала конфиги, которые позже понадобятся для настройки VNC. Все файлы сохраняются в домашней папке пользователя, от имени которого запускается программа.
Запустить VNC-сервер можно следующей командой:
vncserver
Далее программа попросит придумать пароль (от 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», поэтому команда составляется следующим образом:
vncserver -kill :1
Теперь нужно удалить старый конфигурационный файл, отвечающий за запуск графической оболочки:
rm -f ~/.vnc/xstartup
И создать вместо него новый:
nano ~/.vnc/xstartup
Откроется пустой документ, в который необходимо добавить следующий код:
Ubuntu
#!/bin/bash xrdb $HOME/.Xresources startxfce4 $PATH:/usr/bin/» DISPLAY=»1″ DEPTH=»16″ GEOMETRY=»1024×768″ OPTIONS=»-depth $ -geometry $ :$» case «$1» in start) /usr/bin/vncserver $ ;; stop) /usr/bin/vncserver -kill :$ ;; restart) $0 stop $0 start ;; esac exit 0
Переменные, на которые стоит обратить внимание:
- «DISPLAY» – номер запускаемой сессии;
- «DEPTH» – глубина цвета;
- «GEOMETRY» – разрешение экрана.
Остаётся сделать файл исполняемым, чтобы скрипт стал доступен для запуска:
sudo chmod +x /usr/local/bin/myvnc
Теперь можно использовать следующие простые команды, чтобы управлять VNC-сервером:
myvnc start ###запустить vnc myvnc stop ###остановить vnc myvnc restart ###перезапустить vnc
Скрипт готов, но теперь нужно сделать так, чтобы запуск производился каждый раз при загрузке системы. Для этого создаётся юнит:
sudo nano /lib/systemd/system/myvnc.service
В создаваемый файл вносится следующий код:
[Unit] Description=MyVnc [Service] Type=forking ExecStart=/usr/local/bin/myvnc start ExecStop=/usr/local/bin/myvnc stop ExecReload=/usr/local/bin/myvnc restart User=username [Install] WantedBy=multi-user.target
В переменную «User» вводится логин пользователя Linux, от имени которого будет запускаться VNC-сервер.
Теперь нужно сохранить файл и добавить созданную службу в автозагрузку:
sudo systemctl enable myvnc.service
Для применения настроек остаётся перезапустить демон systemd и VNC-сервер следующими командами:
sudo systemctl daemon-reload myvnc restart
Базовая настройка VNC выполнена. Подключиться к сессии можно уже сейчас, но рекомендуется сначала обезопасить соединение, если VNC планируется использовать в публичной сети.
Обеспечение безопасности VNC
Использовать VNC в «голом» виде не рекомендуется по нескольким причинам:
- Отсутствие шифровки трафика.
- На сервере открыты порты, которые может атаковать злоумышленник.
- Пароль ограничен 8 символами.
Всё это делает использование VNC небезопасным. Но есть решение проблемы: туннелирование трафика через протокол SSH, который надёжнее реализован и поддерживает шифровку проходящих данных.
Настройка туннелирования трафика через SSH
Для начала нужно запретить доступ к VNC-серверу извне, чтобы исключить возможность атаки по открытому порту (5901, 5902 и т. д.). Для этого необходимо отредактировать скрипт, созданный на ранних этапах настройки TightVNCServer:
sudo nano /usr/local/bin/myvnc
В файле заменяются строки:
OPTIONS=»-depth $ -geometry $ :$» на OPTIONS=»-depth $ -geometry $ :$ -localhost»
«-localhost» – разрешает подключаться к порту только с самого сервера.
После сохранения скрипта необходимо перезагрузить VNC для применения изменений:
myvnc restart
Подключение
Unix
Выполнить подключение с туннелированием трафика на Unix-системах можно с помощью встроенной консольной утилиты. Команда составляется следующим образом:
Значения, которые нужно изменить на собственные:
- «user» – имя пользователя;
- «xxx.xxx.xxx.xxx» – IP-адрес сервера.
Утилита запросит пароль для входа в учётную запись. Внешне подключение будет ничем не отличаться от обычного соединения с сервером через SSH. Туннелирование будет работать до тех пор, пока сессия не будет закрыта.
Windows
Установка соединения на Windows будет рассмотрена на примере распространённого клиента Putty.
Алгоритм подключения
- Открыть программу и перейти по пути: «Соединение» -> «SHH» -> «Туннели».
- В поле «Исходный порт» нужно ввести значение «5901», а в «Назначение» подставить «localhost:5901». Для применения параметров необходимо нажать «Добавить».Можно создать несколько таких профилей, изменив «5901» на значения других портов («5902», «5903» и т. д.), если планируется подключить сразу несколько сессий.
- Теперь можно вернуться в исходный раздел «Сеанс», ввести данные для подключения к серверу через SSH и нажать «Соединиться».
Чтобы заново не проходить операцию настройки каждый раз, можно сохранить параметры в профиль. Для этого нужно ввести произвольное имя в поле «Управление сеансами» и нажать «Сохранить».
- В открывшемся окне нужно ввести данные для подключения к серверу. Туннелирование начинает работать с этого момента и проходит незаметно для пользователя. Для поддержания соединения достаточно не прерывать сессию SSH.
Подключение к сессии VNC
Подключиться по VNC к Linux можно с помощью клиента TightVNC Viewer, который доступен для загрузки на официальном сайте. Для остальных программ алгоритм установки соединения будет аналогичен.
Сначала нужно открыть TightVNC Viewer и в поле «Remote Host» ввести внешний IP-адрес сервера и порт, разделяя их двоеточием («:»). Если подключение осуществляется с туннелированием трафика, то вместо IP-адреса подставляется стандартное значение локального хоста (например, «localhost» или «127.0.0.1»). Для установки соединения нужно нажать «Connect».
Откроется окно, в котором программа запросит пароль. Для подтверждения остаётся нажать «ОК».
В итоге появится изображение рабочего стола с удалённого сервера.
Источник: eternalhost.net