Tightvnc как подключиться к удаленному рабочему столу windows

Обновлено: 07.07.2024

1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы

Для работы с удаленным компьютером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на удаленный компьютер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран.

1. Установка VNC-клиента

Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC.

Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop. Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и Chicken.

Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:

apt-get install vncviewer

Для ветви RedHat (CentOS, Fedora) — командой:

yum install vnc

Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:

pkg_add -r tightvnc

2. Подключение VNC-клиента к удаленному компьютеру

Для подключения VNC-клиента к удаленному компьютеру требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на удаленном компьютере, а служит только для ограничения доступа к дисплею VNC-сервера.

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

Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее :0, другой — на дисплее :1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901.

3. Отключение VNC-клиента от удаленного компьютера

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

4. Тюнинг VNC-клиента

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

Главный параметр, который влияет на объем передаваемых данных — алгоритм кодирования передаваемой графики. Для уменьшения объема и, соответственно, ускорения работы, рекомендуется использовать алгоритмы Tight, ZLib, ZRLE — по сравнению с несжатыми данными (Raw), они обеспечивают сжатие в десятки раз, заметно нагружая процессор. Эти алгоритмы кодирования обеспечивают комфортную работу даже на каналах со скоростью 256-512 Кбит/сек.

Для сокращения объема передаваемой по сети информации также можно устанавливать высокий уровень сжатия (Compression Level, Compression Value), низкий уровень качества JPEG (JPEG Quality) и включать режим уменьшения количества цветов (-bgr233, Restricted colors). Самый большой эффект из них при заметном снижении качества изображения дает режим уменьшения количества цветов — объем передаваемой информации уменьшается в 1.5-3 раза, соответственно, в 1.5-3 раза ускоряется отображение на экране.

JPEG применяется алгоритмом кодирования Tight для сжатия участков экрана, содержащих фотографии и другие сложные изображения с большим числом цветов. Использование Tight+JPEG сокращает в 2-5 раз объем передаваемых при этом данных. Другие алгоритмы кодирования JPEG не поддерживают.



1. Выпадающего меню «Система -> Параметры»

Объем передаваемых данных и скорость отображения на канале 1 Мбит/сек при открытии выпадающего меню «Система -> Параметры» (на рисунке меню выделено зеленым пунктиром):

Полноцветный режим 256 цветов (BGR233)
Объем Время Объем Время
ZLib 11 Кб 0.09 сек 7 Кб 0.06 сек
HexTile 208 Кб 1.6 сек 118 Кб 0.95 сек
Raw 248 Кб 2 сек 128 Кб 1 сек

5. Частые проблемы
Не удается подключиться к VNC-серверу
  1. есть ли доступ к интернету;
  2. отвечает ли виртуальный сервер на пинги;
  3. запущен ли на виртуальном сервере VNC-сервер;
  4. нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
  5. правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал

Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.

Работа с общими файловыми ресурсами - лишь один из примеров использования SSL Explorer. Ниже мы покажем способ удалённого доступа к рабочему столу Windows средствами решения, основанного на открытом исходном коде - TightVNC, совмещённом с туннелированием SSL Explorer.

Вы спросите: почему нужно использовать TightVNC, если в SSL Explorer уже есть поддержка RDP? На самом деле, поддержка RDP есть, и вовсе не обязательно использовать TightVNC. К сожалению, не все ОС поддерживают RDP, например Windows XP Home.

Кроме того, RDP является протоколом Windows, а VNC - кросс-платформенным. Другими словами, расширение Windows TightVNC, установленное на компьютер с SSL Explorer, позволит работать не только с Windows, но и с Linux и другими системами, на которые установлен сервер VNC. VNC является решением, основанным на открытом исходном коде, и не требует покупки лицензии, а также его можно самостоятельно изменять по мере необходимости. Кстати, для SSL Explorer есть расширения с поддержкой и других протоколов, таких как Citrix ICA для пользователей серверов Citrix.

Для настройки TightVNC нужно сделать всего три шага.

  • Установить поддержку TightVNC в SSL Explorer в разделе "Управление расширениями/Extension Manager".
  • Установить TightVNC на ПК, к которому нужно предоставить удалённый доступ.
  • Создать ярлык для подключения SSL Explorer к нужному ПК.

Шаг 1

Скачиваем TightVNC. В архиве есть XML-файл для интеграции с SSL Explorer.

Заходим в раздел "Управление расширениями/Extension Manager" в меню "Конфигурация/Configuration" (рис. 27).

Рис. 27. Экран расширений. Нажмите на картинку для увеличения.

В правом верхнем углу экрана нужно выбрать "Закачать расширение/Upload Extension" (рис. 28).

Рис. 28. Экран закачки расширения. Нажмите на картинку для увеличения.

Нажимаем "Найти/Browse", выбираем местоположение скачанного TightVNC. Нажимаем кнопку "Закачать/Upload" для установки на SSL Explorer.

Шаг 2

Надо установить TightVNC на ПК, к которому нужен удалённый доступ. ПО можно скачать, например, здесь. После скачивания, нужно установить его на ПК. Убедитесь, что оно установилось как служба. Отметим, что также нужно задать пароль для доступа к серверу TightVNC. Закладка настройки находится в разделе "Показать свойства пользователя/Show current user properties" - рис. 29.

Этот пароль будет нужно указывать при каждом подключении к ПК с клиента VNC (в том числе через SSL Explorer). Рекомендуем отметить "разрешить локальные подключения/allow loopback connections" в разделе администрирования (рис. 30).

Примечание. SSL Explorer использует порт TCP 443, TightVNC - TCP 5900. На компьютере с серверной частью VNC брандмауэр должен разрешать входящие подключения на порт TCP 5900.

Шаг 3

Создадим ярлык для подключения TightVNC. Выбираем "Приложения/Applications" в меню "Управление ресурсами/Resource Management" (рис. 31).

Рис. 31. Приложения. Нажмите на картинку для увеличения.

Выбираем тип ярлыка. В нашем случае "TightVNC for Windows" (рис. 32).

Рис. 32. Ярлык. Нажмите на картинку для увеличения.

Указываем название и описание ярлыка (рис. 33).

Рис. 33. Описание. Нажмите на картинку для увеличения.

Указываем IP-адрес и порт TightVNC, по умолчанию порт - 5900 (рис. 34).

Рис. 34. Настройки приложения. Нажмите на картинку для увеличения.

Нужно выбрать политику для ресурса. В нашем случае - "Все/Everybody" (рис. 35).

Рис. 35. Политика. Нажмите на картинку для увеличения.

На следующем экране (рис. 36) подтверждаем выбор. Если всё указано верно, то нажимаем "Завершить/Finish".

Рис. 36. Проверка параметров. Нажмите на картинку для увеличения.

На последнем экране (рис. 37) нужно подтвердить создание ярлыка. Нажимаем "Завершить работу мастера/Exit Wizard", после чего возвращаемся в главное меню.

Рис. 37. Подтверждение настроек. Нажмите на картинку для увеличения.

Проверяем работу Remote Desktop

В правом верхнем углу экрана нажимаем "Выход/Logout" для завершения сеанса Super User. Выполняем вход от имени только что созданного пользователя (в нашем случае John Smith). После входа видим список доступных ярлыков "My Favorites", в котором показаны все установленные приложения.

Рис. 38. Консоль пользователя. Нажмите на картинку для увеличения.

Экран, показанный на рис. 38, - именно то, что увидит пользователь при работе с SSL Explorer. Выбираем TightVNC, после чего SSL Explorer запустит клиента Java VPN, настроит туннель и запустит клиента TightVNC для удалённого подключения к рабочему столу ПК. Если всё настроено правильно, то появится экран входа TightVNC, где нужно указать соответствующий пароль (рис. 39).

Проверяем работу Remote Desktop

После аутентификации появится окно рабочего стола. На рис. 40 показан пример.

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

Авторизация в панели VMmanager

3. Перейти в меню Управление -> Виртуальные машины , выбрать виртуальный сервер, к которому вы хотите подключиться, нажать кнопку Изменить.

Выбор виртуальной машины для подключения

4. Найти там раздел VNC. Там указаны адрес сервера для подключения, порт и пароль. Пароль можно посмотреть, нажав на кнопку Показать/скрыть пароль. Все эти параметры потребуются в дальнейшем для подключения через VNC-клиент.

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

Подключение по VNC через TightVNC Viewer

1. Если вы поставили TightVNC, то запустите TightVNC Viewer. В поле Remote Host введите IP-адрес для подключения по VNC и, через два двоеточия (::), порт и нажмите Connect.

Настройка TightVNC

2. В следующем окне вбейте пароль и нажмите OK.

Указываем данные доступа в TightVNC

3. После этого откроется консоль сервера (в случае Windows – экран входа/рабочий стол).

Указываем данные доступа в TightVNC

Подключение через RealVNC Viewer

1. Если вы поставили RealVNC, то откройте утилиту VNC Viewer.

2. Далее создайте новое подключение через меню File -> New connection.

Настройка VNC-клиента RealVNC

3. В следующем окне в поле VNC Server введите IP-адрес для подключения по VNC и, через двоеточие, порт. В поле Name задайте произвольное имя для вашего сервера.

Настройка VNC-клиента RealVNC

4. Далее начните подключение, два раза щёлкнув мышкой по серверу. В следующем окне введите пароль. Если хотите, программа может его запомнить.

Настройка VNC-клиента RealVNC

5. Если будет предупреждение о том, что соединение не зашифровано, проигнорируйте его.

Настройка VNC-клиента RealVNC

6. После этого откроется консоль сервера (в случае Windows – экран входа/рабочий стол).

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

  • бесплатно для личного и коммерческого использования, с полным исходным кодом,
  • полезен в управлении, технической поддержке, образовании и для многих других целей,
  • кроссплатформенный, доступный для Windows и Unix, с включённым клиентом Java,
  • совместим со стандартным программным обеспечением VNC, в соответствии со спецификациями протокола RFB.

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



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


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

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

Установка TightVNC

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


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


  • Associate .vnc files with TightVNC Viewer — ассоциировать файлы .vnc с просмотрщиком TightVNC
  • Register TightVNC Server as a system service (recommended) — зарегистрировать сервер TightVNC в качестве системной службы (рекомендуется)
  • Configure system to allow service simulate Ctrl+Ald+Del — настроить систему для разрешения симулирования Ctrl+Ald+Del

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


  • Password for Remote Access — пароль для подключения к компьютеру по VNC
  • Administrative Password — пароль для доступа к интерфейсу TightVNC и редактированию настроек
  • Do not change — не менять
  • Do not use password protection (DANGEROUS!) — не использовать защиту паролем (ОПАСНО!)
  • Require password-based authentication (make sure this box is always checked!) — Требовать аутентификацию на основе пароля (убедитесь, что этот флажок всегда установлен!)



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

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

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

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

Опция -L указывает на привязку портов. В данном случае мы привязываем порт 5901 удаленного подключения к порту 5901 локального компьютера. Опция -C активирует сжатие, а опция -N указывает ssh, что мы не хотим выполнять удаленную команду. Опция -l указывает имя для удаленного входа в систему.

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

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

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

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

Подключение VNC к серверу Debian 9


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

Файлы через соединение VNC с Debian 9

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

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

Ярлыки TightVNC

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


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

  • Run TightVNC Server — запустить сервер TightVNC
  • TightVNC Server — Control Interface — контрольный интерфейс сервера TightVNC
  • TightVNC Server — Offline Configuration — офлайн настройка сервера TightVNC

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

  • Register TightVNC Service — зарегистрировать службу TightVNC (если вы не сделали этого при установке)
  • Start TightVNC Service — запустить службу TightVNC
  • Stop TightVNC Service — остановит службу
  • TightVNC Service — Control Interface — контрольный интерфейс службы TightVNC
  • TightVNC Service — Offline Configuration — офлайн настройка службы TightVNC
  • Unregister TightVNC Service — отменить регистрацию службы TightVNC
  • TightVNC Viewer — запустить просмотрщик (клиент) TightVNC

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

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

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

sudo nano /etc/systemd/system/

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

/etc/systemd/system/ Description=Start TightVNC server at startup After=syslog.target network.target Type=forking User=8host PAMName=login PIDFile=/home/8host/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/NULL 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800:%i ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

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

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

sudo systemctl daemon-reload

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

sudo systemctl enable

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

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

sudo systemctl start

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

sudo systemctl status

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

— TightVNC server on Ubuntu 16.04 Loaded: loaded (/etc/systemd/system/; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS) … systemd: Starting TightVNC server on Ubuntu 16.04…

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 с самоподписанным сертификатом

Добавлять SSL — необязательно. Создать самоподписанный сертификат можно вот так:
Openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem Для Windows openssl можно взять .

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

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

Let»s Encrypt

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

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

Поэтому для noVNC

я просто использую уже существующие
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-сервис

Загружаем zip-архив , и распаковываем файлы оттуда так, чтобы они лежали в той же папке, где и файл websockify.exe
, то есть в нашем случае в
c:\noVNC\websockify
.

При запуске, сервис будет использовать параметры из файла 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:

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