Бесплатно по России
Телефон в Москве
Отдел продаж
Техническая поддержка
По вопросам документов
Поиск
Блог
8 мин на чтение
Обновлено

Что такое VNC: как работает удаленный доступ по VNC и когда он не подходит

Что такое VNC: как работает удаленный доступ по VNC и когда он не подходит

Быстрый ответ

VNC (Virtual Network Computing) — способ удаленного доступа: программа-сервер передает изображение экрана по протоколу RFB, а клиент, VNC Viewer, отправляет обратно нажатия клавиш и движения мыши. По умолчанию сервер слушает TCP-порт 5900. Классический VNC не шифрует сеанс и учитывает только 8 символов пароля, поэтому через интернет его используют внутри VPN или SSH-туннеля.

VNC встречается в двух ситуациях. Администратор настраивает доступ к серверу или рабочей станции без монитора. Обычный пользователь находит в списке программ «VNC Server» или «VNC Viewer» и хочет понять, что это и откуда взялось.

Разберем оба случая: что делает каждая часть VNC, какой порт открыть, как подключиться в Windows, Linux и macOS, как закрыть главную уязвимость и в каких задачах VNC лучше заменить другим инструментом.

Что такое VNC

VNC (Virtual Network Computing) — технология удаленного доступа к рабочему столу. Компьютер с VNC-сервером передает изображение своего экрана по сети, а VNC-клиент показывает его в окне и отправляет обратно действия пользователя: нажатия клавиш, движения и щелчки мыши. Работать с удаленным компьютером можно так, будто вы сидите перед ним.

Технологию создали в Olivetti & Oracle Research Laboratory в Кембридже в конце 1990-х и открыли исходный код. Протокол, на котором работает VNC, называется RFB (Remote Framebuffer), его спецификация опубликована как RFC 6143.

VNC — не одна программа, а семейство совместимых: TightVNC, UltraVNC, TigerVNC, RealVNC и другие. Обычно клиент одной программы подключается к серверу другой, если у них есть общий способ проверки пароля.

Как работает VNC

У VNC две части:

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

Сервер не отправляет экран целиком на каждое движение мыши. После первого кадра он передает только прямоугольники, которые изменились, и сжимает их одним из методов кодирования: Raw, CopyRect, Tight, ZRLE и другими. Чем меньше меняется на экране, тем меньше трафик.

Протокол работает на уровне пикселей и не зависит от операционной системы. Поэтому с Windows можно подключиться к Linux, а с macOS — к Windows.

В Linux у VNC два режима:

  • Показ текущего рабочего стола. Вы видите тот же экран, что человек за компьютером. Так работает x11vnc.
  • Отдельный виртуальный сеанс. Сервер, например Xvnc из TigerVNC, запускает отдельный рабочий стол, которого не видно на мониторе. Удобно для серверов без монитора.

Какой порт использует VNC

По умолчанию VNC-сервер принимает подключения на TCP-порту 5900. Номер дисплея прибавляется к этому числу: дисплей :0 — порт 5900, :1 — 5901, :2 — 5902. Старые серверы дополнительно открывали порт 5800, чтобы подключаться Java-клиентом из браузера.

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

Программы VNC: серверы и клиенты

ПрограммаЧто входитСистемыЛицензияЧем отличается
TightVNCсервер и клиентWindows; клиент также на Javaбесплатная, GPLпростая установка, передача файлов
UltraVNCсервер и клиентWindowsбесплатная, GPLпередача файлов, чат, модули шифрования
TigerVNCсервер и клиентLinux, Windows, macOS (клиент)бесплатная, GPLшифрование TLS, виртуальные сеансы Xvnc
x11vncсерверLinux с графической средой X11бесплатная, GPLпоказывает текущий рабочий стол
RealVNC Connectсервер и клиентWindows, macOS, Linux, Android, iOSкоммерческаясвое шифрование и облачное подключение

В macOS VNC-сервер встроен: функция «Общий экран» (Screen Sharing) принимает подключения от VNC-клиентов. В Linux распространен клиент Remmina, который подключается и по VNC, и по RDP.

Как подключиться по VNC

Windows: TightVNC

  1. Скачайте установщик с официального сайта tightvnc.com. На компьютер, к которому будете подключаться, установите TightVNC Server, на свой — TightVNC Viewer.
  2. При установке сервер попросит два пароля: для подключения и для изменения настроек. Пароль для подключения задайте длиной 8 символов: длиннее протокол не учтет.
  3. Проверьте, что брандмауэр Windows разрешает входящие подключения на порт 5900.
  4. В TightVNC Viewer введите адрес удаленного компьютера, например 192.168.1.100, и пароль.

В адресе VNC-клиента одно двоеточие означает номер дисплея, а два — номер порта: 192.168.1.100:1 и 192.168.1.100::5901 ведут на один и тот же сервер.

Linux: x11vnc для текущего рабочего стола

sudo apt install x11vnc
x11vnc -storepasswd
x11vnc -display :0 -usepw -localhost

Первая команда устанавливает сервер (в Debian, Ubuntu и Astra Linux), вторая сохраняет пароль, третья показывает текущий рабочий стол. Параметр -localhost принимает подключения только с этого же компьютера: снаружи к нему подключаются через SSH-туннель, как показано в разделе о безопасности.

x11vnc работает только в сеансе X11. Если в системе сеанс Wayland, нужен сервер для Wayland, например wayvnc, или встроенные средства удаленного доступа рабочей среды.

Инструкции для отечественных систем — в статьях про удаленный доступ в РЕД ОС и про удаленный рабочий стол Astra Linux.

Linux: TigerVNC для отдельного сеанса

sudo apt install tigervnc-standalone-server
vncpasswd
vncserver :1

Сервер запустит отдельный рабочий стол на дисплее :1, то есть на порту 5901. Человек за монитором этот сеанс не увидит. Так работают с серверами, у которых монитора нет вовсе.

macOS

На компьютере, к которому подключаетесь, включите «Общий экран» в разделе «Общий доступ» системных настроек. Подключиться с другого Mac можно из Finder: меню «Переход» → «Подключение к серверу» → адрес вида vnc://192.168.1.100.

Насколько безопасен VNC

У классического VNC три слабых места.

  • Пароль ограничен 8 символами. Стандартная проверка «VNC Authentication» использует шифрование DES, и ключом служат первые 8 символов пароля, остальные отбрасываются (RFC 6143, раздел 7.2.2).
  • Сеанс не шифруется. Протокол защищает только проверку пароля. Изображение экрана и нажатия клавиш, включая набранные пароли от других систем, идут по сети открыто. Шифрование добавляют отдельные реализации: TigerVNC поддерживает TLS, у RealVNC свое шифрование, у UltraVNC есть модули.
  • Открытый порт находят сканеры. VNC-сервер с портом, открытым в интернет, и коротким паролем подбирают автоматически.

Что делать:

  1. Не открывайте порт VNC в интернет. Подключайтесь через VPN в локальную сеть или через SSH-туннель.
  2. Запускайте сервер так, чтобы он принимал подключения только с самого компьютера (-localhost у x11vnc и TigerVNC), и ходите к нему через туннель.
  3. Где можно, включайте шифрование TLS (VeNCrypt в TigerVNC).
  4. Разрешите в брандмауэре подключения только с нужных адресов.
  5. Обновляйте сервер и выключайте его, когда доступ не нужен.

SSH-туннель из Linux или macOS поднимается одной командой:

ssh -L 5901:localhost:5900 user@192.168.1.100

После этого подключайтесь VNC-клиентом к localhost::5901: трафик пойдет внутри зашифрованного SSH-соединения. В Windows то же самое делает PuTTY: Connection → SSH → Tunnels, Source port 5901, Destination localhost:5900.

VNC или RDP: в чем разница

VNCRDP
Что передаетизображение экранакоманды отрисовки, изображение, звук, буфер обмена, принтеры
Чей сеанс показываеттот же экран, что видит человек за компьютером, или отдельный сеанс в Linuxв Windows — отдельный сеанс пользователя; в клиентских редакциях человек за компьютером при этом выходит из системы
Какие системылюбые: Windows, Linux, macOSсервер — Windows Pro и выше; в Linux — через xrdp
Шифрованиев классическом варианте нетTLS по умолчанию
Нагрузка на каналвыше на видео и анимацииобычно ниже

VNC удобнее, когда нужно видеть то же, что пользователь, или когда на удаленной стороне Linux и macOS. RDP лучше подходит для работы в Windows по медленному каналу. Подробнее о замене RDP — в обзоре аналогов RDP для Windows.

Когда VNC не подходит

  • Подключение через интернет без VPN. Нужен белый IP-адрес, проброс порта на роутере и туннель поверх, иначе соединение небезопасно.
  • Помощь человеку, который не настроит сервер. Родственнику или сотруднику придется установить сервер, задать пароль и сообщить IP-адрес.
  • Десятки и сотни компьютеров. У VNC нет общего списка устройств, единых прав доступа и журнала: каждый сервер настраивается отдельно.
  • Требования службы безопасности. Записи сеансов и журнала «кто, когда и к чему подключался» в бесплатных VNC-серверах нет.
  • Видео и графика по медленному каналу. Передача картинки экрана тяжелее, чем у протоколов, которые передают команды отрисовки.

Эти задачи решают программы удаленного доступа с собственным сервером-посредником. Такую программу, RuDesktop, разрабатываем мы. Она подключается к компьютеру по ID, без белого IP и настройки роутера, через зашифрованный канал TLS на порту 443. Для компаний есть версия с сервером в собственной сети: с журналом действий и записью сеансов. Для личного использования RuDesktop бесплатен до 2 часов подключений в сутки, программа включена в реестр российского ПО (№15913).

Скачать RuDesktop · Удаленный рабочий стол для компании

Источники

Вопросы и ответы

VNC Server — что это за программа на компьютере?

Это серверная часть VNC: она показывает экран компьютера тому, кто подключится VNC-клиентом. Ее ставят администраторы для удаленной поддержки, иногда она приходит вместе с другим ПО. Если вы ее не устанавливали и не знаете, кто ей пользуется, уточните у ИТ-службы или удалите: открытый VNC-сервер с простым паролем — легкая цель.

Какой порт использует VNC?

TCP 5900 для первого экрана. Номер дисплея прибавляется к 5900: дисплей :1 работает на порту 5901, :2 — на 5902. Старые серверы дополнительно открывали порт 5800 для Java-клиента в браузере.

Безопасно ли подключаться по VNC через интернет?

Без дополнительной защиты — нет. Классический протокол не шифрует изображение и нажатия клавиш, а пароль ограничен 8 символами. Порт VNC не открывают в интернет: подключаются через VPN, SSH-туннель или используют сервер с шифрованием TLS, например TigerVNC.

Чем VNC отличается от RDP?

VNC передает картинку экрана и работает с любой операционной системой. RDP — протокол Microsoft: он передает команды отрисовки, звук и буфер обмена, шифрует сеанс и обычно экономнее к каналу, но сервером может быть только Windows редакции Pro и выше или Linux с xrdp.

Можно ли подключиться по VNC с телефона?

Да. Для Android и iOS есть VNC-клиенты, например RealVNC Viewer. Подключение идет так же: адрес сервера, порт и пароль. Управлять рабочим столом с маленького экрана неудобно, поэтому так обычно решают короткие задачи.

VNC — это бесплатно?

Большинство реализаций бесплатны и распространяются с открытым кодом: TightVNC, UltraVNC, TigerVNC, x11vnc. RealVNC Connect — коммерческий продукт со своим шифрованием и облачным подключением.

Назад к списку

Другие статьи

Посмотреть все
Блог
14 мин
Аналоги RDP для Windows: какое решение выбрать для безопасной работы?

Сравнение аналогов RDP для Windows: безопасность, работа без VPN, поддержка Linux.

Читать
Блог
11 мин
Удаленный доступ и рабочий стол РЕД ОС

Удаленный доступ РЕД ОС — работайте из любой точки мира! Решение для удаленного рабочего стола с высоким уровнем контроля и защиты информации.

Читать
Блог
6 мин
Удаленное подключение и управление рабочим столом Astra Linux

Руководство по настройке удаленного рабочего стола в Astra Linux. Узнайте, как подключиться удаленно, управлять системой и администрировать ее эффективно.

Читать
Блог
9 мин
Аналоги Radmin в 2026 году: полный обзор программ для удаленного доступа

Ищете аналог Radmin? RuDesktop — импортозамещающее российское решение в реестре отечественного ПО.

Читать
Посмотреть все