UltraVNC (Ultr@VNC, UVNC). Удаленный доступ к консоли Windows. UltraVNC — простое управление удаленными рабочими столами

Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC.

Зачем вообще нужны такие заморочки, ведь Teamviewer такой офигенный? В моем случае это обусловлено несколькими причинами. В работе была нужна система удаленного управления серверами и рабочими станциями пользователей, а их у нас на поддержке >1000. Teamviewer контролируется сторонней компанией и неизвестно, что она делает с трафиком. Teamviewer не пользуется доверием у некоторых наших клиентов. Нам нужны были уникальные ID для всех пользователей. Ну и его стоимость для достаточно большой инфраструктуры очень приличная, что тоже повлияло на решение. При этом у нас достаточно широкие каналы связи и нет жестких требований к скорости отклика, что нивелировало основной недостаток UltraVNC, а именно - более низкую скорость работы.

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

Исходная архитектура VNC протокола слабо предназначена для работы через глобальные сети. Для этого есть несколько причин.
  • Отсутствие шифрования передаваемых данных.
  • Короткие пароли (8 символов в современном мире? Вы серьезно?)
  • Отсутствие сквозной нумерации серверов, подключение по IP.
  • Невозможность работы из-за NAT.
Я, конечно, перечислил не все. Но это основные недостатки, которые мешали нам рассматривать данное решение всерьез. В итоге, все они были тем или иным образом преодолены. Текущая схема работы выглядит примерно так:

Клиентский UltraVNC сервер подключается к нашему репитеру, который одним своим портом (нестандартным) смотрит в интернет и принимает подключения. А мы подключаемся к этому же серверу по внутреннему адресу изнутри и уже оттуда - к клиенту. Соединения шифруются RSA2048/AES256. Так как серверы и клиенты цепляются на разные порты, можно гибко ограничить, у кого и откуда есть право подключения, не трогая возможность UltraVNC-серверов подключаться к репитеру.

Установка UltraVNC репитера

Так как репитер будет единственным публичным сервисом, его настройке надо уделить максимум внимания. Использовать нестандартные порты, блокировать подозрительную активность, например сканирование портов и жестко определять, откуда можно будет подключаться Viewer-ам. Но начнем с самого простого – установки и настройки. Сервер настраивается во втором режиме, третий (через SSL) требует специальных сборок просмотрщиков и серверов, поэтому его решили не использовать.

Итак, заходим на сервер, которому предначертано стать будущим репитером и начинаем колдунство. Установка будет описана для Ubuntu 16.04. Ставим необходимые зависимости.

Sudo apt-get install build-essential
Создаем пользователя для запуска репитера.

Sudo useradd -c "UltraVNC Repeater User" -M -s /sbin/nologin uvncrep
Скачиваем исходники репитера.

Wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz
Распаковываем репитер и заходим внутрь папки.

Tar -xzvf uvncrep017-ws.tar.gz && cd uvncrep017-ws
Собираем репитер.

Make
Устанавливаем репитер в систему.

Sudo ./install.sh
У нас все готово к успешному запуску, но надо немного изменить файл настроек. Поэтому открываем в любимом редакторе /etc/uvnc/uvncrepeater.ini и приводим настройки к следующему виду:

Viewerport = 5900
По странной прихоти автора номер порта отличается от стандартного. У себя нестандартный порт мы выставим на файрволе.

Logginglevel = 2
Немного повышаем уровень логирования, чтобы видеть информацию о бинде портов и подключениях в логе.

Allowedmodes = 2
Запрещаем оба режима, оставляем только 2, потому что первый работает по другому принципу и может создавать для нас уязвимость.

Useeventinterface = false
Отключаем отправку сообщений. Пока мы никому ничего отправлять не будем. Может быть потом…

Сохраняем файл и тестируем корректность его настроек.

Sudo uvncrepeatersvc /etc/uvnc/uvncrepeater.ini
UltraVnc Linux Repeater version 0.17 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): viewerPort: 5900 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): serverPort: 5500 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): maxSessions: 100 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): loggingLevel: 2 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): ownIpAddress (0.0.0.0 = listen all interfaces) : 0.0.0.0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): runAsUser (if started as root) : uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 connections allowed: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 connections allowed: Yes UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 allowed server port (0=All) : 0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 requires listed addresses: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 requires listed ID numbers: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useEventInterface: false UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerHost: localhost UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerPort: 2002 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useHttpForEventListener: true UltraVnc Sat Feb 11 16:48:29 2017 > dropRootPrivileges(): privileges successfully dropped, now running as user uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > routeConnections(): starting select() loop, terminate with ctrl+c
Все в порядке, можно запускать как стандартную службу. Останавливаем репитер с помощью Ctrl+C и запускаем уже как сервис.

Sudo systemctl start uvncrepeater
Проверяем, что служба запустилась.

$ ps ax | grep uvnc 11168 ? S 0:00 /usr/sbin/uvncrepeatersvc /etc/uvnc/uvncrepeater.ini 11170 pts/0 S+ 0:00 grep --color=auto uvnc
Файл лога можно посмотреть по адресу /var/log/uvncrepeater.log.

Установка и настройка UltraVNC сервера

Итак, первое препятствие между нами и нирваной рухнуло с треском. Теперь мы можем подключаться к клиентам за NAT. На очереди два следующих – отсутствие сквозной нумерации и шифрования. Настраиваем тестовый UltraVNC-сервер. Так как у нас основной парк управляемых машин – это Windows, установка сервера и клиента будет расписана для них.
  • SecureVNC Plugin:

Запускаем установщик UltraVNC сервер. Принимаем условия соглашения и нажимаем Next > .

Вчитываемся с интересом и Next > .

Выбираем установку только UltraVNC Server и нажимаем Next > .

Жмем Next > и никаких гвоздей.

Ставим указанные галочки, чтобы установить UltraVNC сервер как системную службу и запустить его сразу после установки. Жмем Next > .

Смотрим на этот экран с умным видом, потом нажимаем Install .

Здесь есть только одна кнопка для нажима. Жмем на нее.

Снимаем галочку, чтобы не смотреть какие-то последние версии, и жмем Finish .

Кнопконажимательная часть миссии закончена. Теперь надо доустановить необходимые компоненты и настроить сервер. Копируем плагин безопасности в папку UltraVNC.

Распаковываем папку с драйвером.

Заходим в папку с соответствующим драйвером и устанавливаем его путем запуска install.bat.

Внимание! Установку драйвера надо производить с административными правами. Причем запустить от имени администратора только install.bat не получится, потому что он запускает еще одну программу и она будет работать уже не от администратора. Поэтому запускаете консоль от администратора, идете в папку установки драйвера и запускаете install.bat оттуда.

Я выполнял тестовую сборку по XP с правами администратора, потому мне это не потребовалось.

Запускаем настройки VNC сервера – uvnc_settings.exe.

Переходим на вкладку Security .

  • В разделе Authentication выставляем два пароля. Пароли должны быть одинаковыми, состоять из цифр и больших и малых латинских букв, не более 8 символов длиной .
  • В разделе Encryption ставим галочку Use , выбираем из выпадающего списка наш плагин, и жмем на кнопку Configuration .

Галочки должны стоять так, как показано на скриншоте. Если все правильно, закрываем окно нажатием кнопки Close .

Переходим на вкладку Connection .

  • В разделе Multiple connections выбираем Keep existing connections .
  • В разделе Disconnect выбираем Do Nothing .

Переходим на вкладку Screen Capture .

  • В разделе Advanced выбираем Use system hookdll, Use mirror driver, Remove Aero while connected и Remove wallpaper while connected .

Переходим на вкладку Misc/logging .

  • В поле Service command line вбиваем самую главную строку. Эта строка содержит ID и адрес и данные репитера для подключения. Выглядит она так:
-autoreconnect ID:XXXXXXXX -connect :
ID получается с помощью скрипта по методике приведенной ниже.

После всех проделанных действий нажимаем ОК для сохранения настроек. Потом запускаете настройки еще раз и переходите на вкладку Service . На ней нажатием соответствующих кнопок сначала останавливаете, потом запускаете сервис.

Генерация уникального ID

Скрипт получения 8-значного номера ID. Написан на php, потому что это было проще всего. В качестве источника вдохновения использовались комментарии вот к . Как работает, думаю, пояснять не надо. Почему именно скрипт генерации и почему именно по MAC? Потому что репитер не даст подключиться двум серверам с одинаковым ID, а вести журналы со списками ID было предельно лень. А так как MAC-адреса и так уникальны, то почти гарантированно получаем уникальный номер с достаточно низкой вероятностью коллизии.


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

Установка и настройка UltraVNC Viewer

Скачиваем необходимые компоненты по ссылкам. Компоненты должны иметь архитектуру (x86 и x64), соответствующую архитектуре компьютера, на который происходит установка Viewer.
  • Finish .

    Устанавливаем все настройки так же, как и на скрине. ID сервера для подключения вводится именно в таком формате, то есть ID:XXXXXXXX . IP и порт репитера вводятся такими, какими были назначены при установке репитера.

    Все, можно подключаться и радоваться жизни.

    Замечания по использованию

    • Не забывайте при подключении устанавливать security плагин . Если его не будет, соединение все равно произойдет, только без шифрования. Заставить UltraVNC Server требовать шифрования мне пока не удалось.
    • Донастройте сервис при установке UltraVNC сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
Добавить метки

Внимание! Вышла новая версия UVNC — 1.0.9.2 . Заявлена поддержка Windows 7, Vista и Aero!

Рассмотрим следующую ситуацию. Удаленный офис, имеется локальная сеть на несколько компьютеров, NAT роутер. К одному из компьютеров необходимо получить удаленный доступ для оказания удаленной помощи. Компьютер работает под управлением Windows 7.

Запускаем установщик UltraVNC. Несколько первых экранов обычные бла-бла, ознакомление с лицензией и т.п. Важные моменты начинаются с экрана выбора типа инсталляции:

Доступно несколько вариантов:

  • Full installation — полная установка. Устанавливается сервер + клиент.
  • UltraVNC Server Only — устанавливается только сервер.
  • UltraVNC Server Only «silent» — устанавливается только сервер в режиме «без лишних вопросов».
  • UltraVNC Viewer Only — устанавливается только клиент.

Наш выбор — UltraVNC Server Only.

Далее нам предлагается скачать дополнения для Windows Vista (они актуальны и для Семерки). Самое важное из них: cad.exe — без него клиент не сможет послать команду CTRL+ALT+DEL на удаленный компьютер. Опцию «Download Vista addons files now» отмечаем.

В следующем окне нам предложат скачать драйвер захвата. Лично я предпочитаю устанавливать драйвер в ручную, поэтому опцию Download mirror driver НЕ отмечаем:

Следующий экран:

Отмечаем опции:

  • Register UltraVNC Server as a system service — зарегистрировать сервер UltraVNC в качестве системной службы.
  • Start or restart UltraVNC service — запустить/перезапустить службу UltraVNC.
  • Create UltraVNC desktop icons — создать ярлыки на рабочем столе.
  • Associate UltraVNC Viewer with .vnc file extension — открывать файлы с расширением.vnc с помощью UltraVNC Viewer.

Нажимаем Next, после загрузки дополнений, завершаем установку. При необходимости перезагружаемся.


В архиве driver.zip содержится несколько папок, соответствующих разным версиям ОС. Для установки под 32-битную Windows 7, открываем папку Vista (этот драйвер отлично работает и под Семеркой). Далее запускаем файл install.bat. На вопрос системы: «Установить программное обеспечение для данного устройства?» отвечаем Установить.

Теперь можно перейти к настройке основных параметров сервера UltraVNC.

Настройка UltraVNC.

В трее делаем правый клик на иконке UltraVNC и выбираем пункт Admin Properties:

Подробнее о настройках. Раздел Incoming Connections — входящие соединения.

  • Accept Socket Connections — принимать входящие подключения. Для нормальной работы этот пункт должен быть обязательно отмечен.
  • Display — номер дисплея.
  • Ports — порты. Main — порт для подключения uvnc-клиента. Http — порт для подключения java-клиента. Лучше всего оставить значение Auto.
  • Enable Java Viewer (Http Connect) — разрешить подключения java-клиента.
  • Allow Loopback Connections — разрешить обратные подключения (подключения к адресам из диапазона 127.х.х.х). необходимо отметить, если на этот компьютер устанавливается репитер.
  • Loopback Only — разрешать только обратные подключения.

Раздел When Last Client Disconnects — когда отключается последний клиент.

  • Do Nothing — ничего не делать. Оставляем эту опцию.
  • Lock Workstation (W2K) — залочить сеанс (чтобы войти потребуется ввод пароля).
  • Logoff Workstation — завершение сеанса.

Раздел Query On Incoming Connection — вывести запрос при получении нового входящего соединения.

  • Display Query Window — показать окно запроса.
  • Timeout — время до выполнения действия по умолчанию.
  • Default action — действие по умолчанию. Refuse — отклонить, Accept — принять.

Раздел Keyboard & Mouse — клавиатура и мышь.

  • Disable Viewers Inputs — запретить ввод с клиента.
  • Disable Local Inputs — запретить ввод с сервера.
  • Japanese — ??? Возможно, имеется в виду поддержка японской клавиатуры… Иногда помогает при глюках с русской раскладкой.

Раздел Multi Viewer Connections — одновременное подключение нескольких клиентов.

  • Disconnect all existing connections — отключить все текущие соединения. Одновременно может быть подключен только один клиент. Последний подключившейся побеждает.
  • Keep existing connections — поддерживать текущие соединения. Одновременно может быть подсоединено несколько клиентов.
  • Refuse the new connection — ???. Смысл непонятен. При выставлении этой опции можно подключаться нескольким клиентам…
  • Refuse all new connections — запретить все новые соединения. Одновременно может быть подключен только один клиент. Первый подключившейся побеждает. Выбираем этот вариант.

Раздел Authentication — аутентификация.

  • VNC Password — пароль для входа. После установки необходимо придумать новый пароль, иначе подключиться не получится.
  • View-Only Password — пароль для входа в режиме просмотра. С этим паролем клиент будет подключаться в режиме просмотра (настройки клиента и сервера игнорируются).
  • Require MS Logon — использовать аутентификацию Windows (компьютер и пользователь должны быть в одном домене).
  • New MS Logon — активирует MS-Logon II (кросс-доменная аутентификация).

Раздел Misc. — разное.

  • Remove Aero (Vista) — отключить Aero (3D, прозрачность и прочие примочки интерфейса Висты). Рекомендуется.
  • Remove Wallpaper for Viewers — убрать обои рабочего стола. Рекомендуется.
  • Enable Blank Monitor on Viewer Request — по запросу клиента отключает монитор сервера (на весь экран выводится картинка). Странно, но опция также закрывает картинкой и экран клиента. Этот баг можно обойти, если отключить использование драйвера захвата (Properties -> Video Hook Driver).
  • Disable Only Inputs on Blanking Request — запрещает только ввод с консоли сервера, при этом экран не закрывается.
  • Enable Alpha-Blending Monitor Blanking — другой вариант отключения монитора сервера. Используйте, если с первым вариантом проблемы.
  • Capture Alpha-Blending — включение этой опции позволяет В НЕКОТОРЫХ СЛУЧАЯХ «видеть» клиенту видео запущенное на сервере в видеоплеере, например в Windows Media Player (зависит от установленных на компьютере-сервере кодеков).
  • Disable Tray icon — убрать иконку из трея. Если пользователь любопытный, лучше убрать.
  • Forbid the user to close down WinVNC — запретить пользователю закрытие uvnc-сервера. Рекомендуется.
  • Default Server Screen Scale — масштаб экрана по умолчанию.

Раздел File Transfer — передача файлов.

  • Enable — разрешить передачу файлов.
  • User Impersonation (for Service only) — ???

Раздел DSM (Data Stream Modification) Plugin — подключение плагинов (в настоящее время доступны несколько плагинов для шифрования потока данных).

Раздел Logging — создание log-файла.

  • Log Debug infos to the WinVNC.log file — запись данных о функционировании uvnc в лог-файл.
  • Path — путь для сохранения лог-файла.

После установки параметров нажимаем Apply и затем Ок. Каждый раз Windows попросит подтвердить внесение изменений.

Следующий этап — настройки захвата экрана. Делаем правый клик на иконке UltraVNC и выбираем пункт Properties.

  • Poll Full Screen (Ultra Fast) — ??? Особой разницы при включении/отключении не замечал.
  • Poll Foreground Window — ??? При использовании этой и следующих трех опций некоторые части экрана могут подвиснуть и перестать обновляться. Эта информация — просто мое предположение…
  • Poll Console Windows Only -???
  • Poll Window Under Cursor — ???
  • Poll On Event Only — ???
  • System HookDll — опция имеет смысл на Windows 9x.
  • Video Hook Driver — использовать драйвер захвата видео. Обеспечивает наилучшую производительность на Windows XP/Vista/7. Этот вариант обеспечивает наилучшее быстродействие.
  • Low Accuracy (Turbo Speed) — дает прибавку в скорости за счет снижения точности (лично я изменений не замечал, возможно, эта опция для медленных соединений).
  • Share only the Server Window Named: — показывать не весь экран, а только окно с указанным именем. Сколько не пытался, ни разу не получилось…

Кнопка Check the Video Hook Driver используется для проверки функционирования драйвера захвата. Использовать ее нужно только, если к серверу подключен хотя бы один клиент. В противном случае всегда будет выводиться сообщение, что драйвер не активен. Вот как выглядит сообщение, что драйвер установлен и функционирует:

На этом настройка базовая настройка сервера UltraVNC завершена.

Чтобы сервер был доступен через Интернет, на роутере необходимо настроить проброс порта tcp 5900. Также этот порт должен быть открыт в брандмауэре сервера. Если используется только встроенный брандмауэр Windows, то никаких дополнительных действий предпринимать не надо, нужные разрешения уже созданы во время установки.

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

Запускаем UltraVNC Viewer (клиент):

Основные параметры UltraVNC Viewer:

  • VNC Server — адрес сервера.
  • AUTO, ULTRA, LAN, MEDIUM, MODEM, SLOW, MANUAL — в зависимости от скорости вашего канала программа оптимизирует настройки качества.
  • View Only — подключиться в режиме просмотра. Взаимодействие с консолью запрещено.
  • Auto Scaling — автоматическая настройка масштаба. Отметьте, чтобы исключить вероятность появления полос прокрутки.
  • Confirm Exit — подтвердить выход. При закрытии окна клиента будет выводиться диалоговое окно.
  • Use DSMPlugin — использовать плагин.
  • Proxy/Repeater — использовать репитер. Здесь же необходимо указать адрес репитера.
  • Save connection settings as default — сохранить текущие настройки в качестве настроек по умолчанию.

Дополнительные параметры uvnc клиента (кнопка Options):

Все опции описывать не буду, отмечу только наиболее важные:

  • Track remote cursor locally — показывать курсор/указатель мыши.
  • Don’t show remote cursor — не показывать курсор/указатель мыши.
  • Show button’s bar («Toolbar») — показывать или нет панель инструментов.
  • Full-screen mode — полноэкранный режим.
  • Viewer Scale — настройки масштабирования.
  • Disable clipboard transfer — отключить синхронизацию буфера обмена.
  • Number of times the reconnect is attempted — число повторных попыток подключения.

Установка и настройка репитера.

Скачиваем repeater.zip . В архиве только один файл — repeater.exe. Рекомендую сразу перенести его в папку C:\Program Files\UltraVNC\Repeater.

Запускаем repeater.exe. В трее появится иконка. Делаем правый клик по ней и в меню выбираем пункт Settings:

Следует проверить значения следующих опций:

  • Listen port Viewer — значение 5901.
  • Enable Proxy(443) — отключить.
  • Enable Mode I — включено.
  • Enable Mode II — отключить.

Остальные опции оставляем без изменений. Save — сохраняем настройки и закрываем окно.

Следующий этап — открыть порт tcp 5901 в брандмауэре. В настройках роутера необходимо создать правило для переадресации порта tcp 5901 на компьютер, где установлен репитер.

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

  • В поле VNC Server указать не внешний, а внутренний адрес сервера в локальной сети.
  • Отметить опцию Proxy/Repeater и указать внешний адрес роутера с портом, на который настроен репитер (например 83.45.67.8:5901 ).

Последний штрих. Чтобы репитер был постоянно доступен, его необходимо запускать в качестве системной службы. Для этого открываем командную строку от имени администратора, и запускаем repeater.exe с параметром -install. Будет создана служба repeater_service (по умолчанию она не запущена, поэтому осуществите запуск вручную или просто перезагрузитесь).
Для удаления службы запустите repeater.exe с параметром -uninstall.

UltraVNC SC (Single Click) — удаленная помощь без предварительной установки UltraVNC сервера.

Как это работает. На своем компьютере вы запускаете UltraVNC Viewer в режиме ожидания (listen mode). Пересылаете (по электронной почте или как-то еще) на удаленный компьютер архив с заранее сконфигурированным сервером UltraVNC SC. Пользователь распаковывает архив, запускает программу и производит подключение. В итоге вы получаете доступ к консоли удаленного компьютера. Т.к. подключение инициирует удаленный компьютер, нет необходимости настройки брандмауэра и роутера в удаленной сети.

Теперь подробнее о настройке. Сначала необходимо сконфигурировать UltraVNC SC.

Нам понадобятся следующие файлы: winvnc_SCII_100.exe и custom.zip . Далее создаем папку с произвольным названием (например UltraVNC SC). В ней подпапку data. В эту подпапку переносим winvnc_SCII_100.exe и туда же распаковываем содержимое custom.zip.

Теперь необходимо отредактировать файл helpdesk.txt. Этот файл отвечает за интерфейс менеджера подключений:

Каждый раздел helpdesk.txt отвечает за текстовое поле (см. скриншот ниже):

Вот пример моего helpdesk.txt:

Удаленная помощь q2w3.ru maxbond.no-ip.org -connect test.no-ip.org:5500 -noregistry // вместо test.no-ip.org необходимо указать свой ip-адрес иди домен, порт 5500 лучше лучше не менять Выберите подключение Используйте двойной клик, чтобы начать соединение q2w3.ru http://www.q2w3.ru Закрыть Подключение... Соединение установлено!

Если будете создавать свой helpdesk.txt на основе моего, незабудьте удалить комментарии начинающиеся с «\\».

Файл rc4.key не удаляем, он нужен для шифрования.

Возвращаемся к папке UltraVNC SC. Чтобы пользователь не путался, создадим ярлык для запуска winwvnc_SCII_100.exe прямо из нее. Для этого делаем правый клик на winwvnc_SCII_100.exe и выбираем пункт «Создать ярлык». Созданный ярлык переносим на уровень выше, в UltraVNC SC. Теперь открываем свойства ярлыка. Поле «Рабочая папка» очищаем, оно должно быть пустое. В поле прописываем следующую команду:

%windir%\system32\cmd.exe /C start /B /D .\data .\data\winvnc_SCII_100.exe

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

В конце концов запаковываем папку UltraVNC SC в архив и отправляем его пользователю.

Осталось подготовить свой компьютер к приему соединения. UltraVNC Viewer необходимо запустить в режиме ожидание соединения (listen mode). Для этого используем ярлык Программы -> UltraVNC -> UltraVNC Viewer -> Run UltraVNC Viewer (listen mode) или запускаем vncviewer.exe с параметром -listen. Также незабываем открыть порт tcp 5500 в брандмауэре и настроить форвардинг этого же порта на роутере (если, кончено, таковой присутствует в вашей сети).

Обратите внимание, что параметры подключения (качество и т.п.) настраиваются по-прежнему в UltraVNC Viewer (правый клик на иконке uvnc в трее -> Default connection options…).

  • Как сохранить настройки подключения в файл?
    Подключаетесь к серверу (сохранить настройки можно только во время подключения), затем нажимаете CTRL+ALT+F5 .

Здравствуйте, дорогие читатели сайта Страна IT. Сегодня мы с вами поговорим о еще одной программе удаленного доступа. С её помощью вы можете полностью управлять удаленным компьютером. Речь пойдет про VNC клиент для Windows. Данная позволяет пользователям подключаться к компьютерам с операционной системой Windows и Linux и выполнять любые настройки. Так же имеется полная поддержка практически всех современных операционных систем. VNC клиент, может стать для вас незаменимым помощником, если вам часто приходится управлять удаленными компьютерами либо если вы обслуживаете парк ПК. В статье я вам подробно расскажу, как скачать, установить и настроить утилиту.

Чтобы начать пользоваться программой, её необходимо скачать, чтобы не наловить на компьютер вирусов, загружать программу мы будем с официального сайта. Для этого перейдите по ссылке – www.realvnc.com/download /

На странице загрузки, чтобы скачать бесплатно VNC клиент для Windows, необходимо выбрать соответствующую иконку и нажать на кнопку «DOWNLOAD VNC CONNECT». Так же под кнопкой загрузки можно выбрать в каком расширении скачивать программу: exe, Zip или в формате MSI Installer.

Установка программы состоит из двух частей серверной и клиентской. Если вы хотите управлять удаленным компьютером, то устанавливаем клиентскую часть – VNC Viewer, если же вы хотите в дальнейшем управлять данным компьютером, то ставите VNC Server.

Как установить VNC.

Давайте теперь подробно рассмотрим, как установить VNC клиент для Windows. Для этого запускаем скаченный исполняемый файл и выполняем все по шагам:


Мы с вами смогли установить VNC клиент для Windows, теперь давайте рассмотрим, как настроить программу и как ею пользоваться.

Как пользоваться VNC — программой удаленного доступа к компьютеру.

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

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

Для того, чтобы выполнять удаленные подключения со своего компьютера к другим ПК, нам с вами понадобится VNC Viewer. Запускаем его. Окно программы выглядит скромно, но зато нет ничего лишнего. В самом центре располагается строка «VNC server» в нее необходимо ввести имя удаленного компьютера или IP адрес. Как узнать IP адрес читайте статью – . Если вы хотите подключиться по имени, то посмотреть его можно в свойствах системы.

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

Что делать, если не получается подключиться.

Часто бывают случаи, когда после установки VNC клиента для Windows не удается выполнить подключение. На это существует ряд определенных причин, рассмотрим их подробнее:

  • Антивирусные программы заблокировали работу VNC. Очень часто антивирусы определяют программы удаленного доступа как нежелательное ПО и блокируют их работу всеми способами. Для того, чтобы избежать такой ситуации необходимо добавить программу в списки исключений антивируса;
  • Неправильный IP адрес. Иногда случаются случаи, когда пользователь удаленного компьютера говорит вам неправильный IP адрес. Тем самым вы не можете подключиться. Рекомендую уточнить информацию и повторить подключение;
  • Неправильный пароль. Если вы сами задавали пароль для серверной версии. То необходимо проверить, правильно ли вы его вводите, возможно у вас включен заглавный ввод букв или выбран неправильный язык ввода;
  • Программа переключилась на другой порт работы. По умолчанию, программа работает через порт 5900. Проверьте, не занят ли данный порт каким-то другим приложением. Так же можно выполнить переадресацию портов.

Это основные проблемы, которые встречаются при работе с VNC Viewer. Как видите, они вполне себе решаемые. Функционал программы достаточно простой, здесь нет каких-то суперполезных функций. Программа имеет вполне стандартный набор инструментов, который схож с и , а возможно и чем-то уступает своим собратьям. Чем подкупает VNC клиент для Windows, так это высокая скорость работы и большая поддержка всех современных платформ. Это делает программу достаточно привлекательной для пользователей, которые имеют устройства с разными операционными системами.

Подведем итоги.

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

  • Системное администрирование
  • Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC.

    Зачем вообще нужны такие заморочки, ведь Teamviewer такой офигенный? В моем случае это обусловлено несколькими причинами. В работе была нужна система удаленного управления серверами и рабочими станциями пользователей, а их у нас на поддержке >1000. Teamviewer контролируется сторонней компанией и неизвестно, что она делает с трафиком. Teamviewer не пользуется доверием у некоторых наших клиентов. Нам нужны были уникальные ID для всех пользователей. Ну и его стоимость для достаточно большой инфраструктуры очень приличная, что тоже повлияло на решение. При этом у нас достаточно широкие каналы связи и нет жестких требований к скорости отклика, что нивелировало основной недостаток UltraVNC, а именно - более низкую скорость работы.

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

    Исходная архитектура VNC протокола слабо предназначена для работы через глобальные сети. Для этого есть несколько причин.
    • Отсутствие шифрования передаваемых данных.
    • Короткие пароли (8 символов в современном мире? Вы серьезно?)
    • Отсутствие сквозной нумерации серверов, подключение по IP.
    • Невозможность работы из-за NAT.
    Я, конечно, перечислил не все. Но это основные недостатки, которые мешали нам рассматривать данное решение всерьез. В итоге, все они были тем или иным образом преодолены. Текущая схема работы выглядит примерно так:

    Клиентский UltraVNC сервер подключается к нашему репитеру, который одним своим портом (нестандартным) смотрит в интернет и принимает подключения. А мы подключаемся к этому же серверу по внутреннему адресу изнутри и уже оттуда - к клиенту. Соединения шифруются RSA2048/AES256. Так как серверы и клиенты цепляются на разные порты, можно гибко ограничить, у кого и откуда есть право подключения, не трогая возможность UltraVNC-серверов подключаться к репитеру.

    Установка UltraVNC репитера

    Так как репитер будет единственным публичным сервисом, его настройке надо уделить максимум внимания. Использовать нестандартные порты, блокировать подозрительную активность, например сканирование портов и жестко определять, откуда можно будет подключаться Viewer-ам. Но начнем с самого простого – установки и настройки. Сервер настраивается во втором режиме, третий (через SSL) требует специальных сборок просмотрщиков и серверов, поэтому его решили не использовать.

    Итак, заходим на сервер, которому предначертано стать будущим репитером и начинаем колдунство. Установка будет описана для Ubuntu 16.04. Ставим необходимые зависимости.

    Sudo apt-get install build-essential
    Создаем пользователя для запуска репитера.

    Sudo useradd -c "UltraVNC Repeater User" -M -s /sbin/nologin uvncrep
    Скачиваем исходники репитера.

    Wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz
    Распаковываем репитер и заходим внутрь папки.

    Tar -xzvf uvncrep017-ws.tar.gz && cd uvncrep017-ws
    Собираем репитер.

    Make
    Устанавливаем репитер в систему.

    Sudo ./install.sh
    У нас все готово к успешному запуску, но надо немного изменить файл настроек. Поэтому открываем в любимом редакторе /etc/uvnc/uvncrepeater.ini и приводим настройки к следующему виду:

    Viewerport = 5900
    По странной прихоти автора номер порта отличается от стандартного. У себя нестандартный порт мы выставим на файрволе.

    Logginglevel = 2
    Немного повышаем уровень логирования, чтобы видеть информацию о бинде портов и подключениях в логе.

    Allowedmodes = 2
    Запрещаем оба режима, оставляем только 2, потому что первый работает по другому принципу и может создавать для нас уязвимость.

    Useeventinterface = false
    Отключаем отправку сообщений. Пока мы никому ничего отправлять не будем. Может быть потом…

    Сохраняем файл и тестируем корректность его настроек.

    Sudo uvncrepeatersvc /etc/uvnc/uvncrepeater.ini
    UltraVnc Linux Repeater version 0.17 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): viewerPort: 5900 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): serverPort: 5500 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): maxSessions: 100 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): loggingLevel: 2 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): ownIpAddress (0.0.0.0 = listen all interfaces) : 0.0.0.0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): runAsUser (if started as root) : uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 connections allowed: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 connections allowed: Yes UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 allowed server port (0=All) : 0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 requires listed addresses: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 requires listed ID numbers: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useEventInterface: false UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerHost: localhost UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerPort: 2002 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useHttpForEventListener: true UltraVnc Sat Feb 11 16:48:29 2017 > dropRootPrivileges(): privileges successfully dropped, now running as user uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > routeConnections(): starting select() loop, terminate with ctrl+c
    Все в порядке, можно запускать как стандартную службу. Останавливаем репитер с помощью Ctrl+C и запускаем уже как сервис.

    Sudo systemctl start uvncrepeater
    Проверяем, что служба запустилась.

    $ ps ax | grep uvnc 11168 ? S 0:00 /usr/sbin/uvncrepeatersvc /etc/uvnc/uvncrepeater.ini 11170 pts/0 S+ 0:00 grep --color=auto uvnc
    Файл лога можно посмотреть по адресу /var/log/uvncrepeater.log.

    Установка и настройка UltraVNC сервера

    Итак, первое препятствие между нами и нирваной рухнуло с треском. Теперь мы можем подключаться к клиентам за NAT. На очереди два следующих – отсутствие сквозной нумерации и шифрования. Настраиваем тестовый UltraVNC-сервер. Так как у нас основной парк управляемых машин – это Windows, установка сервера и клиента будет расписана для них.
    • SecureVNC Plugin:

    Запускаем установщик UltraVNC сервер. Принимаем условия соглашения и нажимаем Next > .

    Вчитываемся с интересом и Next > .

    Выбираем установку только UltraVNC Server и нажимаем Next > .

    Жмем Next > и никаких гвоздей.

    Ставим указанные галочки, чтобы установить UltraVNC сервер как системную службу и запустить его сразу после установки. Жмем Next > .

    Смотрим на этот экран с умным видом, потом нажимаем Install .

    Здесь есть только одна кнопка для нажима. Жмем на нее.

    Снимаем галочку, чтобы не смотреть какие-то последние версии, и жмем Finish .

    Кнопконажимательная часть миссии закончена. Теперь надо доустановить необходимые компоненты и настроить сервер. Копируем плагин безопасности в папку UltraVNC.

    Распаковываем папку с драйвером.

    Заходим в папку с соответствующим драйвером и устанавливаем его путем запуска install.bat.

    Внимание! Установку драйвера надо производить с административными правами. Причем запустить от имени администратора только install.bat не получится, потому что он запускает еще одну программу и она будет работать уже не от администратора. Поэтому запускаете консоль от администратора, идете в папку установки драйвера и запускаете install.bat оттуда.

    Я выполнял тестовую сборку по XP с правами администратора, потому мне это не потребовалось.

    Запускаем настройки VNC сервера – uvnc_settings.exe.

    Переходим на вкладку Security .

    • В разделе Authentication выставляем два пароля. Пароли должны быть одинаковыми, состоять из цифр и больших и малых латинских букв, не более 8 символов длиной .
    • В разделе Encryption ставим галочку Use , выбираем из выпадающего списка наш плагин, и жмем на кнопку Configuration .

    Галочки должны стоять так, как показано на скриншоте. Если все правильно, закрываем окно нажатием кнопки Close .

    Переходим на вкладку Connection .

    • В разделе Multiple connections выбираем Keep existing connections .
    • В разделе Disconnect выбираем Do Nothing .

    Переходим на вкладку Screen Capture .

    • В разделе Advanced выбираем Use system hookdll, Use mirror driver, Remove Aero while connected и Remove wallpaper while connected .

    Переходим на вкладку Misc/logging .

    • В поле Service command line вбиваем самую главную строку. Эта строка содержит ID и адрес и данные репитера для подключения. Выглядит она так:
    -autoreconnect ID:XXXXXXXX -connect :
    ID получается с помощью скрипта по методике приведенной ниже.

    После всех проделанных действий нажимаем ОК для сохранения настроек. Потом запускаете настройки еще раз и переходите на вкладку Service . На ней нажатием соответствующих кнопок сначала останавливаете, потом запускаете сервис.

    Генерация уникального ID

    Скрипт получения 8-значного номера ID. Написан на php, потому что это было проще всего. В качестве источника вдохновения использовались комментарии вот к . Как работает, думаю, пояснять не надо. Почему именно скрипт генерации и почему именно по MAC? Потому что репитер не даст подключиться двум серверам с одинаковым ID, а вести журналы со списками ID было предельно лень. А так как MAC-адреса и так уникальны, то почти гарантированно получаем уникальный номер с достаточно низкой вероятностью коллизии.


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

    Установка и настройка UltraVNC Viewer

    Скачиваем необходимые компоненты по ссылкам. Компоненты должны иметь архитектуру (x86 и x64), соответствующую архитектуре компьютера, на который происходит установка Viewer.
    • Finish .

      Устанавливаем все настройки так же, как и на скрине. ID сервера для подключения вводится именно в таком формате, то есть ID:XXXXXXXX . IP и порт репитера вводятся такими, какими были назначены при установке репитера.

      Все, можно подключаться и радоваться жизни.

      Замечания по использованию

      • Не забывайте при подключении устанавливать security плагин . Если его не будет, соединение все равно произойдет, только без шифрования. Заставить UltraVNC Server требовать шифрования мне пока не удалось.
      • Донастройте сервис при установке UltraVNC сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
    • удалённый доступ
    • unix
    Добавить метки

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

    UltraVnc – это ещё одна программа для удалённого управления компьютером.
    Достоинства: бесплатная и поддерживает как Windows, так и unixOS (напримерLinux).
    Недостатки: куча пугающих настроек на английском языке.

    Итак, глаза боятся, а руки делают. Скачиваем свежую версию с официального сайта www.uvnc.com или скачать . Запускаем. Выбираем server (сервер) и viewer (просмотрщик). Сервер ставится на тех компьютерах, к которым будем подключаться, а просмотрщик на тех, с которых будем подключаться.

    «Установить сервис » и «Позволить использовать Ctrl+Alt+Del ». Да.

    Поле «Incoming Connections » — «Входящие соединения».

    Accept Socket Connections - включаем (т.е. нетрогаем).

    Display - показывает номер порта (теоретически). Не трогаем.

    Ports – пусть остаётся авто.

    Enable JavaViewer (HTTP connect) - разрешить java-просмотрщик (через браузер). Да.

    Allow Loopback Connections - разрешить соединение через «петлю» (как бы сам не себя для теста). Оставляем.

    Loopback Only - только «петля» — больше ничего работать не будет. Нет.

    Поле «Authentication » — «Аутентификация» (подтверждение личности/прав).

    VNC Password - пароль на управление (на англ.).

    View-Only Password – пароль только для просмотра (на англ.). Неплохо бы выставить его отличным от VNC.

    Require MS Logon — применяет учётные записи windows. Галочку не ставим.

    Поле «File Transfer » — «Передача файлов».Да, пригодится.

    Поле «DSM Plugin » — шифрование данных. Как хотите, я не ставлю.

    Поле «When last client disconnects » — «Когда последний клиент отключен».

    — Ничего не делать. Выбираем .
    — Заблокировать комп.
    — Завершить сеанс.

    Поле «Keyboard&Mouse » — «Клавиатура и мышь». Я ничего не выставляю.
    — Отключает мышь и клаву того, кто подключается.
    — Отключает мышь и клаву того, к кому подключаются.
    — Японская клава.

    Поле «Query on incoming connection » — «Запрос о входящем соединении».
    Спрашивает у пользователя, разрешает ли он подключение к нему.
    Display Query Window — время показа сообщения. Если пользователь ничего не нажал:
    Refuse – отказ подключения.
    Accept – резрешение подключения.

    Поле «Multi Viewer Connections » — «Одновременное подключение нескольких клиентов».
    — «Disconnect all existing connections » — отключение последнего после подключения нового. Оставляем.
    — «Keep existing connections » — удерживать все подключения.
    — «Refuse the new connection » — пункт означает, что идёт запрет на новое подключение, хотя на практике никакого запрета нет.
    — «Refuse all new connections » — не позволять новых подключений, если одно уже есть.

    Поле «Misc. » - тут всякие полезности для удобства, ускорения работы, уменьшения трафика.
    Remove Aero (Vista) - отключить Aero (3D, прозрачность и прочие «украшения»). Отмечаем.
    Remove Wallpaperfor Viewers - убирает обои с рабочего стола. Ставим галочку.
    EnableBlank Monitoron Viewer Request - отключение монитора управляемого компа. Данная опция работает со сбоями, поэтому я снимаю галочку.
    Disable Only Inputson Blanking Request - запрещает только ввод с консоли сервера, при этом экран не закрывается.
    Enable Alpha-Blending Monitor Blanking - другой вариант отключения монитора сервера. Используйте, если с первым вариантом проблемы.
    Capture Alpha-Blending - возможность видеть включенное видео. Работает со сбоями, но очень полезная функция, когда нужно просмотреть видеокамеры, например. Отмечаем.
    Disable Tray icon - отключает иконку в трее. Отмечаем.
    Forbid the user to close down WinVNC - запрещает отключать сервер. Ставим галочку.
    Default Server Screen Scale - масштаб экрана при подключении. Оставляем 1/1.

    Поле «Logging » — «Создание log-файла»
    Log debug infos to the WinVNC.log file - пишет лог сервера. Не нужно.

    Настройки выставлены, кликаем Apply и ОК.

    На рабочем столе появляются три иконки: просмотрщик (Ultra VNC Viewer), сервер (Ultra VNC Server) и настройки (Ultra VNC Settings).
    Открываем «Настройки» (Settings) и можем их здесь изменить. Но есть одна новая настройка «ScreenCapture » — захват экрана. Позволяет делать скриншоты рабочего стола.

    Поле «Capture Options » — «Опции захвата». — Poll Full Screen – весь экран.
    Poll Foreground Window – активное окно.
    Poll Console Windows Only – только окно консоли.
    Poll On Event Only –только окно события.
    Poll Window Under Cursor – окно под курсором.
    LowAccuracy (низкая точность) — дает прибавку в скорости за счет снижения точности.

    Поле «Advanced » — «Расширенные».
    Use System HookDll - опция имеет смысл на Windows 9x.
    Video Hook Driver - использовать драйвер захвата видео. Обеспечивает наилучшее быстродействие на Windows XP, Vista, 7.
    Show Primary Display — показывать первый экран.
    Show Secondary Display – показать второй экран.
    Capture Alpha-Blending – захват изображения видео.
    Remote Aer While connected – отключить Aero, когда подключено соединение.
    Remote Wall paper While connected – отключить обои рабочего стола, когда подключено соединение.

    Двойной клик по значку «сервера» (Ultra VNC Server) запускает сервер, если он ещё не запущен.
    Теперь запускаем «просмотрщик» (Ultra VNC Viewer).

    Поле «Quick Options » настраивается скорость подключения.
    Оставляем авто. Так же есть настройки:
    View Only – только просмотр. Только при подглядывании.
    Auto Scaling – нет полос прокрутки, при движении мышки вниз экран движется сам. Ставим .
    Confirm Exit — подтверждать выход. Не нужно .

    В общем больше нам ничего не нужно, поэтому вводим IP-адрес компьютера (как узнать IP-адрес своего компьютера смотрите ), на котором стоит уже настроенный сервер (UltraVNCServer) и жмём «Connect ». После запроса пароля попадаем на нужный нам компьютер.

    (Visited 27 798 times, 5 visits today)



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: