vnc server для чего нужен

Как подключиться к серверу по VNC

Начинающие разработчики часто сталкиваются со сложностью в администрировании Unix-систем. Привычный способ подключения через SSH-туннель или веб-интерфейс для многих оказывается сложным на первых порах. Чтобы не потерять мотивацию в своих начинаниях, часто используются программы с графическим интерфейсом, позволяющие вести удаленную связь с сервером. В них пользователь может администрировать сервер точно так же, будто он работает за своим компьютером. За все это отвечает особая система VNC, о которой мы сегодня и поговорим. Что такое VNC и как с помощью нее подключиться к серверу, разберемся далее.

Что такое VNC

VNC (от англ. Virtual Network Computing) – система, позволяющая подключаться к удаленному компьютеру через протокол RFB. Алгоритм работы реализован следующим образом: для соединения используется специальная программа либо панель управления VMmanager, в нее вводятся данные для авторизации, и в результате пользователь получает полноценный доступ к запрашиваемой системе. С помощью этого протокола мы можем работать с компьютером, который находится в другой точке планеты.

Близким по понятию является соединение по RDP, но такой способ обычно ассоциируется с ОС Windows. VNC же больше относится к системам Linux, но также поддерживает и Windows, MacOS, Chrome, iOS, Android и даже Raspberry Pi.

Программное обеспечение распространяется в свободном доступе. Популярные утилиты, которые можно скачать – Ultra VNC remote access tools, TightVNC и VNC Viewer. Подробнее о том, как ими воспользоваться, мы поговорим чуть позднее, а пока давайте рассмотрим преимущества подключения по ВНС.

Особенности VNC

Удаленное подключение обычно осуществляется через протоколы RDP и SSH – они чаще используются для получения доступа к VDS. Но если есть они, зачем использовать ВНС?

Вот некоторые особенности, полезные для некоторых сценариев:

Важно: для соединения сервер должен использовать KVM. Это аппаратная виртуализация, позволяющая воссоздать физический сервер на виртуальной машине. Также существует другая виртуализация под названием OpenVZ – она разрешает запускать несколько ОС на одной машине.

Как только вы убедитесь, что сервер использует KVM, можно переходить к подключению по ВНС. О том, как это сделать, мы поговорим уже в следующем разделе.

Подключаемся к серверу по VNC

Существует два способа подключения к VDS/VPS по VNS: через панель управления VMmanager и с помощью VNC-клиента. Первый вариант подразумевает установленную панель с приобретенной лицензией. Второй – установленную на компьютер программу (Ultra VNC remote access tools, TightVNC или VNC Viewer). Давайте рассмотрим, как всем этим можно воспользоваться и подключиться к VDS/VPS.

Способ 1: Через панель управления VMmanager

Перед тем как воспользоваться панелью, ее нужно установить к себе на сервер и получить лицензию. На Ubuntu это реализуется посредствам выполнения команд в консоли. Рекомендуем установить к себе на компьютер помощник для удаленного соединения PuTTY, чтобы легко вводить команды в консоль без каких-либо хлопот.

Таким образом на машине будет установлена панель управления. Чтобы в нее войти, нужно в браузере ввести ссылку: https:// :1500/vmmgr. В результате будет отображено окно, где нужно активировать лицензию либо воспользоваться ознакомительной версией.

Далее будет запущена консоль, в которой следует ввести логин и пароль от VDS.

Вот такими несложными действиями мы смогли подключиться к VDS/VPS через VMmanager. Теперь давайте рассмотрим более простой способ с использованием специальной утилиты.

Способ 2: Через VNC-клиент

Как мы говорили ранее, существует множество различных программ, позволяющих подключаться по протоколу RFB. Не будем рассматривать все возможные варианты, а разберемся в работе утилиты VNC Viewer.

Подключаемся через VNC-клиент:

Почему не удается подключиться?

Ошибки подключения могут быть связаны со следующим:

На этом наша статья подходит к концу. Надеемся, что у вас не осталось вопросов, и подключение к серверу по VNC прошло без затруднений. Спасибо за внимание!

Источник

VNC – технология наблюдения и удаленного управления компьютером

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

1. Мониторинг рабочих мест – задачи и способы

Контроль состояния машин учащихся – один из важнейших поддерживающих процессов в информационной системе учебного класса. Системный администратор должен в любой момент времени знать состояние всех компонентов сети – серверов, каналов связи, коммутационного оборудования, рабочих мест учащихся и преподавателей. Для этого, в частности, необходим автоматизированный мониторинг процессов, происходящих на машинах пользователей. К сведениям о состоянии рабочего места может относиться информация о:

В настоящей серии статей будут рассмотрены средства и способы получения таких сведений администратором класса, осуществляющим контроль работоспособности рабочих мест учащихся, на которых установлены операционные системы семейства Linux.

С точки зрения дистанционного учебного процесса, одна из важнейших задач контроля состояния рабочих мест – наблюдение за рабочим столом, а в более общем случае – доступ к рабочему столу и возможность удаленного управления. Решать эту задачу призвана технология VNC.

2. Технология VNC – принципы работы

Общий принцип удаленного доступа к рабочему столу на другой машине можно описать так. Команды, поступающие от вашей клавиатуры и мыши, передаются на удаленный компьютер по сети, оттуда вы постоянно получаете снимки экрана. Таким образом, при достаточной скорости сетевого соединения пользователь фактически работает за удаленным компьютером.

Система удаленного доступа к рабочему столу Virtual Network Computing (VNC) была разработана компанией AT&T и основана на использовании протокола RFB (Remote FrameBuffer). Она поддерживает работу с графическим интерфейсом операционных систем семейства Unix (X11), а также Windows и Mac OS X.

Характерной особенностью VNC является возможность организации нескольких «точек подключения» на одном сервере. Такими точками являются X-экраны VNC-сервера, которых может быть от одного до семи. Выбор экрана пользователь клиентской части программы осуществляет при подключении. Разделение работы нескольких клиентов с разными экранами происходит по TCP-портам (по умолчанию используются порты с 5900 до 5906).

Читайте также:  Что такое нафта в нефтепереработке

Если вернуться к технологическому обеспечению учебного процесса, то круг задач, которые можно решать, используя VNC, значительно шире, чем просто мониторинг состояния рабочих мест учащихся. Вот только некоторые из них:

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

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

Средства VNC входят во многие дистрибутивы unix-систем. Если в вашем случае это не так, можно воспользоваться бесплатной реализацией технологии VNC – программой TightVNC. В случае, если VNC-сервер имелся в дистрибутиве операционной системы и был развернут при ее установке, он зарегистрирован как служба и может быть запущен через консоль управления. Клиентская часть (vncviewer) находится, скорее всего, в каталоге /usr/bin/. Так что прежде чем приступать к описанным в следующем разделе действиям, проверьте список сервисов операционной системы.

3. Установка и настройка TightVNC

На сайте разработчика tightvnc.org доступна последняя версия программы (на сегодняшний день это 1.3.10) в исходных текстах. Можно также попробовать найти готовый бинарный пакет для вашей операционной системы.

Разработчики предлагают инсталлировать программу в папку /usr/local/bin. После запуска скрипта установки из директории установочного пакета

в указанном каталоге появятся файлы программы:

Сразу после установки программа готова к эксплуатации (используются настройки по умолчанию). Основной файл, отвечающий за параметры создания экземпляра vnc-сервера, – tightvncserver.conf – расположен в директории /etc. В случае, когда vnc-сервер уже установлен в операционной системе, те же параметры могут задаваться в файле /etc/sysconfig/vncservers.

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 без параметров, получим следующее:

Как видно, на нашем узле test запущен экземпляр сервера со стандартными параметрами, к которому можно обращаться через первый дисплей (при следующем запуске vncserver без параметров номер созданного дисплея будет увеличен на единицу). Если пароль vnc до этого момента не задан, он будет запрошен здесь же. Параметры, с которыми создан экземпляр сервера, указаны в файле /root/.vnc/xstartup, к которому мы еще вернемся.

Теперь с рабочего места администратора запускаем команду vncviewer. Это приводит к появлению окна с полем для ввода точки подключения. Туда вводится ip-адрес рабочего места учащегося (или имя хоста) и номер дисплея через двоеточие. Если до этого все шаги выполнены верно, следующим появляется запрос на ввод пароля. Это тот самый пароль, который вводился при настройке (см. предыдущий раздел). Наконец, если пароль введен правильно, подключение состоялось. Перед администратором появляется окно просмотрщика с терминалом.

Для того чтобы видеть не только терминал, но и полноценный рабочий стол операционной системы, необходимо подключить оконную оболочку. Для этого обратите внимание на первые строки файла сценария xstartup, который находится в каталоге /root/.vnc/:

Как видим, нам рекомендуется раскомментировать две строки, чтобы пользоваться обычным рабочим столом. После того как это сделано, следующий экземпляр vnc-сервера запустится в режиме полноценного рабочего стола, а файл xstartup приобретет следующий вид:

Итак, чтобы подключаться к рабочим местам учащихся, на каждой машине должен быть запущен vnc-сервер. Администратору должны быть известны номер дисплея и пароль для доступа к vnc. Для запуска vnc-серверов администратор может воспользоваться подключением по ssh (использование этого механизма для мониторинга будет рассмотрено в следующей статье). Однако если число машин учащихся превышает, например, 10, такой способ запуска становится крайне неудобным. Поэтому хотелось бы, чтобы vnc-сервер запускался автоматически при загрузке системы.

Если средства vnc устанавливались самостоятельно, необходимо обеспечить выполнение при загрузке операционной системы запуск сценария vnvncserver.

В более распространенном случае наличия vnc в списке служб операционной системы достаточно установить флаг запуска при старте ОС через соответствующее приложение администрирования ОС (например, Service Configuration). Запуск службы vnc-сервера будет осуществляться в соответствии с параметрами, указанными в конфигурационном файле etc/vncservers.

В случае использования двух постоянных рабочих столов – одного для пользователя admin, а другого для пользователя teacher – содержимое этого файла может выглядеть, например, так:

Основной в этом файле является переменная VNCSERVERS, содержащая разделенные пробелом пары «номер дисплея:имя пользователя ОС».

5. Наблюдение за сеансом пользователя

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

Все не так просто, когда учащийся работает локально на собственной машине. Если вы хотите видеть, что на самом деле происходит на мониторе пользователя, необходимо подключиться непосредственно к его текущей сессии X11. К счастью, X11 «знает» о существовании технологии vnc и даст вам возможность подключиться к сеансу через vncviewer. Достаточно лишь внести несколько изменений в конфигурационный файл X11.

Читайте также:  лицо горит а температуры нет у мужчин что это значит

Итак, в файле /etc/X11/xorg.conf добавим в секцию Screen три следующие опции:

В качестве файла паролей указывается файл, содержащий пароль vnc, заданный при настройке.

Секция Screen в результате приобретет примерно следующий вид:

Теперь подключим загрузку соответствующего модуля – добавим в секцию Module того же конфигурационного файла строку Load “vnc”:

После перезапуска оконной оболочки (или перезагрузки операционной системы) текущий сеанс пользователя доступен через нулевой дисплей vnc.

6. Защита канала

В случае, когда связь между клиентом и сервером vnc осуществляется по открытому каналу (например, через каналы Интернета), возникает задача защиты передаваемых данных.

В текущей версии программы TightVNC шифрованию подлежат только передаваемые по сети пароли, при этом используется алгоритм DES, основанный на 56-разрядном ключе. Как утверждают разработчики, в их планы входит встраивание в программу механизмов шифрования трафика. Пока же пользователям рекомендуют использовать OpenSSH.

Мы вкратце рассмотрим другой вариант защиты канала между клиентом и сервером VNC. Для организации шифрованного ssl-соединения между двумя узлами широко применяется открытая программа stunnel.

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

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

В конфигурационном файле программы stunnel, как на клиентской, так и на серверной стороне, в параметрах accept и connect указываются точки приема и передачи трафика. Например, если адрес машины учащегося 192.168.10.10, клиентская часть программы stunnel «слушает» порт 1881, а серверная – 1881, то в конфигурационных файлах будет указано следующее:

Теперь клиент vncviewer должен подключаться не напрямую к vnc-серверу, как раньше, а к клиентской части программы stunnel, которая установлена на машине администратора и слушает назначенный порт – например, 1881. Тогда в качестве строки подключения vncviewer нужно указать «localhost:1::1881». Обратите внимание, что номер порта указывается через два двоеточия.

Отметим, что при наличии проблем с производительностью машин и пропускной способностью используемых каналов введение дополнительных операций шифрования на обеих сторонах взаимодействия может критически сказаться на скорости работы просмотрщика. Несколько способов решить эту проблему, не отказываясь от шифрования, приведены, наряду с другими, в следующем разделе.

7. Несколько полезных приемов

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

Что делать? Во-первых, можно уменьшить объем передаваемых по сети графических данных: изменить параметры сервера geometry и depth в сторону уменьшения.

Во-вторых, приведите в соответствие параметры запуска просмотрщика и vnc-сервера, к которому подключаетесь. Несовпадение параметров pixelformat и depth у сервера и клиента приводит к необходимости преобразования картинки, что замедляет скорость работы.

Проблема 2. Случайные движения курсора мыши на стороне администратора беспокоят пользователей, к чьим сессиям X11 осуществляется подключение, или даже «спугивают» тех учащихся, кто пытается выполнять запрещенные действия.

Проблема 3. Администратору неудобно наблюдать за несколькими рабочими местами пользователей одновременно.

Что делать? Запускайте просмотрщик с уменьшенными параметрами геометрии, это позволит разместить на мониторе несколько удаленных рабочих столов.

Проблема 4. Необходимо изменить порт, по которому осуществляется доступ к vnc-серверу.

Проблема 5. Необходимо разрывать соединение с vnc-сервером по истечении определенного времени бездействия клиентского приложения.

Что делать? При запуске vnc-cервера используйте опцию Xvnc –IdleTimeout, указывайте требуемый интервал бездействия в секундах.

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

В следующей статье речь пойдет о технологии ssh, а также о том, какие средства Linux администратор может использовать для получения полной картины состояния операционной системы и прикладных программ на машине пользователя.

Источник

VNC клиент для Windows. Как скачать, установить и настроить!

Что такое TightVNC и как ей пользоваться

TightVNC — это следующий клиент-сервер VNC.

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

Общие сведения о программе VNC Viewer


You will be interested:How dangerous is the new coronavirus?
Для начала кратко остановимся на том, что представляет собой этот программный продукт, рассмотрим, для чего он предназначен. Исходя из выше приведенной аналогии, можно сказать, что VNC-клиент — это универсальное приложение, позволяющее в считаные минуты организовать доступ к удаленному компьютеру.

То есть данную программу можно отнести к классу RDP-приложений, предназначенных для подключения к удаленному «Рабочему столу». Однако только доступом к удаленным компьютерам дело не ограничивается, поскольку в самой программе имеется еще немало дополнительных возможностей:

Сразу же стоит отметить, что технология Virtual Network Computing (VNC)имеет и еще одно неоспоримое преимущество, если сравнивать с аналогами. Дело в том, что в ней есть возможность установки серверной и клиентской части (в зависимости от того, какой именно тип подключения будет использоваться в дальнейшем), плюс, тонкая настройка ПО для каждого варианта установки с целью обеспечения максимальной производительности.

Установка TightVNC

Скачать TightVNC: https://www.tightvnc.com/download.php

Typical установка подходит в большинстве случаев:

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

Сразу после установки предлагается установить 2 вида паролей:

Шаг 3 — Безопасная настройка рабочего стола VNC

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

Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение localhost для VNC. Для этого можно ввести черех терминал в Linux или macOS следующую команду:

Читайте также:  Что такое лесная клубника

Не забудьте заменить sammy и your_server_ip именем пользователя sudo без привилегий root и IP-адресом вашего сервера.

Если вы используете графический клиент SSH (например, PuTTY), используйте your_server_ip как IP-адрес для подключения, и задайте localhost:5901 как новый порт переадресации в настройках туннеля SSH программы.

После запуска туннеля используйте клиент VNC для подключения к localhost:5901. Вам будет предложено пройти аутентификацию, используя пароль, заданный на шаге 1.

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


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

Нажмите CTRL+C на локальном компьютере, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.

Теперь мы настроим сервер VNC как службу.

Ярлыки TightVNC

После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.

TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)

TightVNC Server (Service Mode) — TightVNC сервер (режим службы)

4: Создание файла сервиса VNC

Теперь нужно настроить сервер VNC как сервис system.

Создайте новый файл /etc/systemd/system/:

sudo nano /etc/systemd/system/

Скопируйте и вставьте в него следующий код:

: Укажите имя своего пользователя вместо 8host.

Сохраните и закройте файл.

sudo systemctl daemon-reload

Включите новый файл:

sudo systemctl enable

Остановите текущий экземпляр сервера VNC, если он ещё запущен:

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

sudo systemctl start

Чтобы убедиться, что сервер запущен, проверьте его состояние:

sudo systemctl status

Если сервер запущен, команда вернёт:

systemd: pam_unix(login:session): session opened for user finid by (uid=0) systemd: Started TightVNC server on Ubuntu 16.04.

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

Обратите внимание, что настройки TightVNC Server в режиме приложения и в режиме сервиса настраиваются индивидуально! Настройки сервиса TightVNC Server являются общесистемными, а настройки приложения TightVNC Server индивидуальны для каждого пользователя! Но при этом настройки паролей доступа являются общими для сервиса и приложения.

Для настройки сервера TightVNC вы можете открыть окно настроек с помощью ярлыка или найти его иконку в системном трее (рядом с часами) и кликнуть правой кнопкой мыши:

Затем выберите Configuration (настройка) и перейдите во вкладку Server (сервер):

Здесь установите Primary password (Set, Change, Unset) — главный пароль (установить, изменить, удалить).

Быстрый старт с TightVNC

Если вы хотите включить сервер TightVNC, то достаточно запустить службу или приложение сервера TightVNC, это ярлык TightVNC Server или ярлык Start TightVNC Service.

Если вы это ещё не сделали, установите пароль для подключения по VNC.

Сообщите ваш IP адрес пользователям, которые должны подключиться к вашему компьютеру.

Если вы хотите подключиться по VNC с помощью TightVNC, то запустите TightVNC Viewer.

Введите IP адрес и нажмите кнопку Connect:

Добавляем SSL с самоподписанным сертификатом

В результате получаем файл self.pem, на который надо указать при старте noVNC:

C:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 —web c:\noVNC\noVNC-master —cert=c:\noVNC\self.pem Теперь у нас работает HTTPS и WSS (WebSocket Secure). Для WSS в настройках (Settings) нужно указать Encrypt. Интересно, что noVNC использует один и тот же порт для HTTP и HTTPS — он «умеет» различать запросы и правильно отвечать.

Так как сертификат самоподписанный, то в браузере нужно будет принять этот сертификат.

Let»s Encrypt

У меня нет инструкций о том, как настроить систему, чтобы Let»s Encrypt автоматически генерировал сертификат специально для нашей системы. Для этого потребовалось бы, чтобы noVNC работал на порту 80, что конечно же возможно, но может быть неудобно, и найти способ интегрировать certbot, чтобы эти файлы публиковались в нужную директорию. Думаю, что это возможно, но я этого не сделал. Если вы допилите — поделитесь в комментариях.
В моём случае, у меня уже есть домашний сервачок с NGINX и DDNS именем, который настроен автоматически получать сертификат от Lets Encrypt.

Вы можете запустить что-то похожее у себя. есть инструкции о настройке Let»s Encrypt для Linux и Windows.

я просто использую уже существующие
pem
-файлы, сгенерированные для
nginx
.

Let»s Encrypt создаёт следующие файлы:

Cert.pem: Your domain»s certificate chain.pem: The Let»s Encrypt chain certificate fullchain.pem: cert.pem and chain.pem combined privkey.pem: Your certificate»s private key На Ubuntu их можно найте по вот такому пути: /etc/letsencrypt/live/your_domain_name

Нужно скопировать (объединить) fullchain.pem

и
privkey.pem
в один файл, например назовём его
encrypt.pem
, и этот файл мы будем использовать для
noVNC
.

Конечно, работать это будет только если nginx

сервер и
noVNC
— на одном домене. Порты могут быть разными.

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

Как пользоваться TightVNC

В верхней левой части экрана расположена панель инструментов:

Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.

При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:

Добавляем noVNC, как Windows-сервис

При запуске, сервис будет использовать параметры из файла noVNCConfig.ini

. Вот пример моего конфига:

5901 127.0.0.1:5900 —web C:\noVNC\noVNC-master —cert=c:\noVNC\encrypt.pem В консоли, запущенной с администраторскими привилегиями создаём новый сервис:

Sc create «noVNC Websocket Server» binPath= «c:\noVNC\websockify\noVNC Websocket Service.exe» DisplayName= «noVNC Websocket Server» Если нужно будет удалить сервис, то вот так:

Sc delete «noVNC Websocket Server» Открываем сервисы (Control Panel → Administrative Tools → Services) и запускаем noVNC Websocket Server. Также здесь можно настроить, чтобы сервис стартовал каждый раз вместе с Windows:

Источник

Информ портал о технике и не только