sonyps4.ru

Ultravnc как узнать что смотрят. Удаленное управление компьютерами через интернет — 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 сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
    • удалённый доступ
    • unix
    Добавить метки

    Этот пост для того чтобы дать просто ссылку, а не описывать по телефону всё это каждый раз для друзей, знакомых, сотрудников и всех остальных.
    Значит так. Во-первых Ultr@VNC бесплатна и во-вторых она замечательно работает. Для установки необходимы минимальные знания английского языка и некоторые навыки настройки любых программ, и конечно же права администратора. Естественно, если интернет идёт через роутер или еще как-то усложнён, то всё гораздо веселее. О форвардинге портов и прочем я писать не буду, этого и так хватает для любой железки .
    Для примера возьмём свеженькую UltrаVNC 1.0.6.4, в старых было кое-что иначе, но не сильно.

    Для начала Скачиваешь самую свежую версию UltraVNC с сайта .
    Запускаешь установку. Next, next, next. До окошка выбора устанавливаемых компонентов:

    Full Inslallation – устанавливает всё и сразу, и сервер и клиент (он же вьювер). По умолчанию ставится он и это правильно.
    UltraVNC server only – только сервер. Я обычно ставлю на удалённые машины только его.
    UltraVNC server only “silent” – то же самое, только не будет задавать лишние вопросы. (хорошо при обновлении версии)
    UltraVNC viewer only – только вьювер. Может кому-то и нужен только он.


    Если в будет где-то виста, то ставим галочку. Если не будет, то не ставим. Логично.


    Mirror driver – полезная штука, ускоряет и улучшает и зрительно увеличивает. Ставим.


    Выбираем чтобы сервер был системной службой и стартовал вместе с системой. Иконки на рабочий стол и ассоциацию с типом.vnc по желанию.


    Правой клавишей мыши ткнуть в этот синий глаз, вылезает меню. В данный момент нам нужны admin properties . В результате видим все настройки UVNC сервера.


    Это мои типовые настройки. От того что есть по умолчанию недалеко ушло.
    Краткое описание кнопочек и галочек, идём сверху вниз и слева направо:
    Секция “Incoming connections”
    Accept Socket Connections – должно быть включено, чтобы всё работало.
    Display – я так и не понял зачем это.
    Ports – указывает порт по которым будет работать программа. По умолчанию авто, порты 5900 и 5800 соответственно. (в билдах 1.0.6.х есть глюк, вручную порты можно прописать только редактируя файл ultravnc.ini). Пусть остаётся авто, не критично.
    Enable JavaViewer (HTTP connect) – возможность подключения через любой браузер с java. Полезно.
    Allow Loopback Connections – разрешает короткое замыкание (оно же петля), только для тестирования работоспособности.
    Loopback Only – то же самое, но отрубает вообще все подключения извне. Не нужно.
    Секция “Authentication”
    VNC password – пароль для подключения. Тут только латиница, остальные требования как и ко всем паролям.
    Require MS Logon (и всё что к нему относится) – для управления доступом по именам и паролям пользователей windows. Я не пользуюсь.
    Секция “File Transfer” – включает возможность передачи файлов. Нужно.
    Секция “DSM Plugin” – возможность шифровать данные, для параноиков. Я побаловался и отключил.
    Секция “When last client disconnects” – указывает что делать когда завершается подключение. Ничего, блокировать комп, завершить сеанс. Я включаю ничего. Меньше проблем.
    Секция “Keyboard & Mouse” – при соединении отключается либо клавиатура/мышь на этом компе (полезно чтобы не мешали), либо не дает рулить тому кто подключился. Поддержка японского языка иногда помогает решить проблему с русским.
    Секция “Query on incoming connection” – если поставить галочку, то когда кто-то подключается на локальном компе всплывает окно с вопросом “дать подключиться или не дать?”. Можно указать время, по истечении которого будет автоматически либо отказано либо принято подключение. Иногда полезно.
    секция “Multi viewer connections” – регулирует, что будет если подключаются сразу несколько клиентов.
    “Disconnect all existing connections” – но тут пришёл лесник и всех выгнал из леса. Крайний подключившийся выкидывает всех остальных.
    “Keep existing connections” – в тесноте, да не в обиде. Все сидят и мешают друг другу.
    “Refuse the new connection” – кто первый встал, того и тапки. Первый подключившийся никого не пускает.
    “Refuse all new connections” – непонятная вариация предыдущего пункта.
    секция “Misc.” – тут всякие полезности для удобства, ускорения работы, уменьшения трафика.
    Remove Aero (Vista) – при подключении вырубает украшательства висты, и правильно.
    Remove Wallpaper for Viewers – убирает обоину с рабочего стола. Полезно.
    Enable Blank Monitor on Viewer Request – дает клиенту возможность отключить монитор. Пользователей внезапно потухший экран пугает больше, чем комп живущий сам по себе.
    Enable Alpha-Blending Screen Blanking – то же самое, только по другому реализованое.
    Capture Alpha-Blending – неведомое.
    Disable Tray icon – отключает иконку в трее. Может кому и пригодится, хотя по цвету этой иконки можно видеть – подключен кто-то или нет.
    Forbid the user to close down WinVNC – запрещает отключать сервер. Иногда полезно.
    Default Server Screen Scale – масштаб экрана при подключении. У меня везде 1/1, ибо уменьшить всегда можно в клиенте при подключени.
    Log debug info to the WinVNC.log file – пишет лог сервера, и прячет его глубоко в системную папку. Неинтересно.

    Включаем что хочется, жмём “ОК” и тут может вылезти такое предупреждение.

    Убираем галочку и соглашаемся. Вносим в белый список (или исключения) файрволла две программы: winvnc.exe и vncviewer.exe с соответствующими портами (по умолчанию 5900 и 5800). Как это делается надо уже уметь. В крайнем случае отключаем его.

    По идее сервер настроен и работает. Желательно перезапустить компутер, на всякий случай.Чтобы проверить работу должно быть разрешено подключение на себя, запускаем UltraVNC Viewer.

    Если не знаем свой IP лезем на сайт http://ip-address.domaintools.com/ и смотрим что он там пишет. Вбиваем только его, если порты стандартные. Если порты придумал сам, то что-то типа свои_ip_адрес:свой_порт (про то что у тебя есть доменное имя говорить нет смысла, зачем тогда это читаешь?). Всё остальное авто. По идее должен выдать запрос пароля. Если не выдаёт – вместо ip-адреса вбиваем localhost , вот тут то точно должен спросить пароль. Если просит – значит какие-то проблемы с входящими соединениями из сети. Ищем затык в настройках антивируса, роутера, еще чего-то что стоит между компом и интернетом. Если всё еще не просит – надо читать ошибку, курить мануал и танцевать с бубном. Но я с этим не сталкивался, что-то сделать не так – трудно.
    Тут еще стоит сказать, что у многих провайдеров ip-адрес моет меняться с каждым подключением к интернету. Для нормальной и продолжительной работы придётся либо регистрироваться на https://dyn.com/ или https://www.noip.com/, либо заказывать услугу постоянный ip-адрес (он же белый, он же статический) у провайдера. В крайнем случае звонить кому-то рядом с удалённым компом, чтобы посмотрели и сказали.

    Вкратце по настройкам клиента (это который UltraVNC Viewer):
    Оговорю сразу, все эти настройки можно будет поменять уже подключившись, если что-то не понравится. В главном окне вбивается адрес удалённого компа, выбирается качество картинки в зависимости от скорости соединения. Можно поставить галочки: “только посмотреть” (для вуайеристов или не желающих сразу вмешиваться в работу), автоматически изменять масштаб в зависимости от размеров окна, запрашивать подтверждение выхода. Все они используются в зависимости от ситуации.
    Если вам взбрело в голову использовать DSM Plugin или прокси-сервер – используйте, возможность указать их по быстрому тоже есть. Ну и в случае, если вы нашли идеальные параметры можно их сделать используемыми по умолчанию.

    Для энтузиастов и просто пытливых можно залесть в настройки поглубже.


    Format and Encoding – Первым делом настройки соединения, компрессия и количество цветов. Можно поиграться, но это имеет смысл, только если скорость маленькая, а трафик дорогой. В таких случаях выбираются просто минимальные комфортные настройки.
    Misc :
    share the server – можно или нельзя подключаться другим клиентам.
    deiconify on bell – похоже даже разработчики не знают, что это такое.
    disable clipboard transfer – отключает синхронизацию буферов обмена между сервером и клиентом. Иногда нужная штука.
    Mouse and Keyboard – зачем-то можно перенастроить кнопки мыши, и включить поддержку японских шрифтов (опять же помогает и с русскими). Также регулирует поведение курсора на удалённом компе: повторять движения из клиента, не повторять, вообще не показывать курсор.
    Display ^ показывать или нет панель управления (мне помогает), только смотреть, полноэкранный режим, и масштабирование окна.
    Здесь же можно выставить количество попыток подключения, и что-то там про рекламу.

    Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене 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 сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
    Добавить метки 25 ноября 2009 в 13:21

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

    • Настройка Linux

    Работа с VNC-клиентом. Материал ориентирован на неопытного пользователя.

    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 и .

    Для 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 Мбит/сек при открытии выпадающего меню «Система -> Параметры» (на рисунке меню выделено зеленым пунктиром):

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

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

    Здравствуйте, дорогие читатели сайта Страна 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 и сможете его скачать и установить. Возможно программа войдет в вашу повседневную жизнь и заменит более популярные программы, например, такие как



    Загрузка...