Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Настройка удалённого доступа к Windows с помощью noVNC. Vnc в браузере


Настройка удалённого доступа к Windows с помощью noVNC

Это руководство о том, как настроить noVNC для удалённого доступа к компьютерам на Windows.

Почему noVNC?

— У Windows есть «родное» средство для удалённого доступа — Remote Desktop Connection. Но оно есть не во всех версиях Windows — например нет в Home edition.— Также существует множество VNC серверов и клиентов для любой версии Windows. Но для их использования нужно ставить VNC клиент. А бывают случаи, когда ставить ничего нельзя (ограничение прав), или нежелательно, чтобы не оставлять следов на чужом компьютере.— Ещё есть Chrome Remote Desktop, которому на стороне клиента нужно только расширение в браузере. Но у меня был случай, когда протокол Хрома был заблокирован организацией (там почто всё было заблокировано), а noVNC использует обычный HTTP и поэтому работал.

Насколько я знаю, noVNC — единственное средство, которое позволяет подключиться к удалённому компьютеру без установки какого-либо клиента — используется лишь браузер.Ещё есть SPICE, но для него я не нашёл сервера под Windows.

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

Необходимым условием является проброс портов, или белый IP удалённого компьютера. Также можно воспользоваться VNC repeater. Но это уже выходит за рамки этой статьи.

Общая схема

imageСначала мы поставим обычный VNC сервер на порт 5900.

Затем поставим noVNC и WebSockify на порт 5901.WebSockify — это своего рода прокси, который с одной стороны умеет разговаривать с VNC, который у нас на порту 5900, а с другой — умеет транслировать это браузеру через вебсокет, который у нас будет на порту 5901. noVNC — это просто html-приложение, или как сегодня это называют Single Page Application, которое и будет работать в клиентском браузере и «говорить» с WebSockify на сервере.

Вообще-то в природе существуют VNC серверы, которые умееют сразу соединяться через вебсокеты:— MobileVNC, но он платный (10 Евро за устройство)— Есть библиотека LibVNCServer, которая поддерживает вебсокеты, и теоретически работает под Windows, но я не нашёл ни одного готового сервера под Windows с этой библиотекой.

В этом случае WebSockify уже не будет нужен.

Ставим VNC

Сам VNC протокол стандартизован, поэтому теоретически можно использовать любой VNC сервер.

Сначала я попробовал поставить TightVNC, но у noVNC были с ним какие-то проблемы с аутентификацией. Думаю, что можно было разобраться, но я поставил UltraVNC (осторожно, у них там тонны рекламы, реальные ссылки — внизу страницы) и всё заработало.

Скорее всего будут работать большинство VNC серверов, которые поддерживают Windows.

VNC сервер я поставил на порт 5900.Не забудьте установить пароль на VNC соединение. UltraVNC не даст подсоединиться до тех пор, пока вы не установите пароль.

Проверьте, что VNC сервер работает, подключившись к нему с помощью VNC клиента с другого компьютера или смартфона.

noVNC и WebSockify

Создаём папку в удобном для себя месте, и загружаем туда:— распаковываем zip архив noVNC— распаковываем zip архив WebSockifyЦель, чтобы получилось приблизительно вот так:image

Теперь запускаем command prompt с администраторскими правами:image

Запускаем WebSockify:c:> cd c:noVNCwebsockifyc:noVNCwebsockify> websockify.exe 5901 127.0.0.1:5900 --web c:noVNCnoVNC-masterWARNING: no 'resource' module, daemonizing support disabledWebSocket server settings:- Listen on :5901- Flash security policy server- Web server. Web root: c:noVNCnoVNC-master- No SSL/TLS support (no cert file)- proxying from :5901 to 127.0.0.1:5900

Первый параметр выше — порт на котором noVNC будет слушать: 5901. Этот порт нужно сделать доступным для клиентов.

Второй параметр — IP и порт, где стоит VNC сервер: 127.0.0.1:5900

Третий параметр --web инструктирует noVNC, чтобы он отдавал содержимое директории c:noVNCnoVNC-master по HTTP(s). По умолчанию noVNC отдаёт только VNC вебсокет, но этот параметр позволяет иметь и HTTP сервер на этом же порту.

В директории c:noVNCnoVNC-master переименуйте файл vnc.html в index.html, чтобы он отдавался по умолчанию.

Теперь noVNC клиент должен быть доступен на порту 5901:image

Попробуйте также открыть noVNC страницу с другого компьютера / смартфона, чтобы удостовериться, что она доступна снаружи. Если нет — то проверьте:— что у вас Windows Firewall не блокирует внешние подключения на этот порт,— что ваш роутер правильно перенаправляет запросы на этот порт на нужный компьютер; если надо гуглите «проброс портов».

Соединяемся (Connect), вводим VNC пароль и видим рабочий стол удалённого компьютера!

Если что-то пошло не так, то ошибки должны показаться в нашей консоли.

Остановить noVNC сервер можно нажав Ctrl-C в консоли.

Описанная выше конфигурация работает по HTTP (и по WS).

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

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

В результате получаем файл self.pem, на который надо указать при старте noVNC:c:noVNCwebsockify> websockify.exe 5901 127.0.0.1:5900 --web c:noVNCnoVNC-master --cert=c:noVNCself.pem

Теперь у нас работает HTTPS и WSS (WebSocket Secure). Для WSS в настройках (Settings) нужно указать Encrypt. Интересно, что noVNC использует один и тот же порт для HTTP и HTTPS — он «умеет» различать запросы и правильно отвечать.

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

Let's Encrypt

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

В моём случае, у меня уже есть домашний сервачок с NGINX и DDNS именем, который настроен автоматически получать сертификат от Lets Encrypt.

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

Поэтому для noVNC я просто использую уже существующие pem-файлы, сгенерированные для nginx.Let's Encrypt создаёт следующие файлы:cert.pem: Your domain's certificatechain.pem: The Let's Encrypt chain certificatefullchain.pem: cert.pem and chain.pem combinedprivkey.pem: Your certificate's private keyНа Ubuntu их можно найте по вот такому пути: /etc/letsencrypt/live/your_domain_name

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

Конечно, работать это будет только если nginx сервер и noVNC — на одном домене. Порты могут быть разными.

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

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

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

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

5901 127.0.0.1:5900 --web C:noVNCnoVNC-master --cert=c:noVNCencrypt.pem

В консоли, запущенной с администраторскими привилегиями создаём новый сёрвис:sc create "noVNC Websocket Server" binPath= "c:noVNCwebsockifynoVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server"

Если нужно будет удалить сервис, то вот так:sc delete "noVNC Websocket Server"

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

Известные недоработки

Раскладка клавиатуры

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

Буфер обмена

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

Автор: Славик Фурсов

Источник

www.pvsm.ru

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

Работа с 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 и Chicken.

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

apt-get install vncviewer

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

yum install vnc

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

pkg_add -r tightvnc

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

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

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

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

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

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

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

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

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

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

Другие статьи этой серии:VNC — удаленный доступ к компьютеру по сети. Введение в VNC.Установка VNC-сервера на VDS и рекомендации по тюнингу P.S. Если есть замечания, добавления, вопросы — пишите в комменты, по ним буду дописывать статью.

habrahabr.ru

Настройка удалённого доступа к Windows с помощью noVNC / Хабрахабр

Это руководство о том, как настроить noVNC для удалённого доступа к компьютерам на Windows.

Почему noVNC?

— У Windows есть «родное» средство для удалённого доступа — Remote Desktop Connection. Но оно есть не во всех версиях Windows — например нет в Home edition. — Также существует множество VNC серверов и клиентов для любой версии Windows. Но для их использования нужно ставить VNC клиент. А бывают случаи, когда ставить ничего нельзя (ограничение прав), или нежелательно, чтобы не оставлять следов на чужом компьютере. — Ещё есть Chrome Remote Desktop, которому на стороне клиента нужно только расширение в браузере. Но у меня был случай, когда протокол Хрома был заблокирован организацией (там почто всё было заблокировано), а noVNC использует обычный HTTP и поэтому работал.

Насколько я знаю, noVNC — единственное средство, которое позволяет подключиться к удалённому компьютеру без установки какого-либо клиента — используется лишь браузер. Ещё есть SPICE, но для него я не нашёл сервера под Windows.

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

Необходимым условием является проброс портов, или белый IP удалённого компьютера. Также можно воспользоваться VNC repeater. Но это уже выходит за рамки этой статьи.

Общая схема

image Сначала мы поставим обычный VNC сервер на порт 5900.

Затем поставим noVNC и WebSockify на порт 5901.

WebSockify — это своего рода прокси, который с одной стороны умеет разговаривать с VNC, который у нас на порту 5900, а с другой — умеет транслировать это браузеру через вебсокет, который у нас будет на порту 5901. noVNC — это просто html-приложение, или как сегодня это называют Single Page Application, которое и будет работать в клиентском браузере и «говорить» с WebSockify на сервере.

Вообще-то в природе существуют VNC серверы, которые умееют сразу соединяться через вебсокеты:

— MobileVNC, но он платный (10 Евро за устройство) — Есть библиотека LibVNCServer, которая поддерживает вебсокеты, и теоретически работает под Windows, но я не нашёл ни одного готового сервера под Windows с этой библиотекой.

В этом случае WebSockify уже не будет нужен.

Ставим VNC

Сам VNC протокол стандартизован, поэтому теоретически можно использовать любой VNC сервер.

Сначала я попробовал поставить TightVNC, но у noVNC были с ним какие-то проблемы с аутентификацией. Думаю, что можно было разобраться, но я поставил UltraVNC (осторожно, у них там тонны рекламы, реальные ссылки — внизу страницы) и всё заработало.

Скорее всего будут работать большинство VNC серверов, которые поддерживают Windows.

VNC сервер я поставил на порт 5900. Не забудьте установить пароль на VNC соединение. UltraVNC не даст подсоединиться до тех пор, пока вы не установите пароль.

Проверьте, что VNC сервер работает, подключившись к нему с помощью VNC клиента с другого компьютера или смартфона.

noVNC и WebSockify

Создаём папку в удобном для себя месте, и загружаем туда:

— распаковываем zip архив noVNC — распаковываем zip архив WebSockify

Цель, чтобы получилось приблизительно вот так:

image Теперь запускаем command prompt с администраторскими правами:image Запускаем WebSockify:c:\> cd c:\noVNC\websockify c:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master WARNING: no 'resource' module, daemonizing support disabled WebSocket server settings: - Listen on :5901 - Flash security policy server - Web server. Web root: c:\noVNC\noVNC-master - No SSL/TLS support (no cert file) - proxying from :5901 to 127.0.0.1:5900 Первый параметр выше — порт на котором noVNC будет слушать: 5901. Этот порт нужно сделать доступным для клиентов.

Второй параметр — IP и порт, где стоит VNC сервер: 127.0.0.1:5900

Третий параметр --web инструктирует noVNC, чтобы он отдавал содержимое директории c:\noVNC\noVNC-master по HTTP(s). По умолчанию noVNC отдаёт только VNC вебсокет, но этот параметр позволяет иметь и HTTP сервер на этом же порту.

В директории c:\noVNC\noVNC-master переименуйте файл vnc.html в index.html, чтобы он отдавался по умолчанию.

Теперь noVNC клиент должен быть доступен на порту 5901:

image Попробуйте также открыть noVNC страницу с другого компьютера/смартфона, чтобы удостовериться, что она доступна снаружи. Если нет — то проверьте:

— что у вас Windows Firewall не блокирует внешние подключения на этот порт, — что ваш роутер правильно перенаправляет запросы на этот порт на нужный компьютер; если надо гуглите «проброс портов».

Соединяемся (Connect), вводим VNC пароль и видим рабочий стол удалённого компьютера!

Если что-то пошло не так, то ошибки должны показаться в нашей консоли.

Остановить noVNC сервер можно нажав Ctrl-C в консоли. Описанная выше конфигурация работает по HTTP (и по WS).

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

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

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

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

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

Let's Encrypt

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

В моём случае, у меня уже есть домашний сервачок с NGINX и DDNS именем, который настроен автоматически получать сертификат от Lets Encrypt.

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

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

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

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

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

Конечно, работать это будет только если nginx сервер и noVNC — на одном домене. Порты могут быть разными.

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

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

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

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

5901 127.0.0.1:5900 --web C:\noVNC\noVNC-master --cert=c:\noVNC\encrypt.pem В консоли, запущенной с администраторскими привилегиями создаём новый сервис:sc create "noVNC Websocket Server" binPath= "c:\noVNC\websockify\noVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server" Если нужно будет удалить сервис, то вот так:sc delete "noVNC Websocket Server" Открываем сервисы (Control Panel → Administrative Tools → Services) и запускаем noVNC Websocket Server. Также здесь можно настроить, чтобы сервис стартовал каждый раз вместе с Windows:image

Известные недоработки

Раскладка клавиатуры

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

Поэтому, чтобы печатать по русски на удалённом компьютере:

— на клиенте должна быть выбрана английская раскладка — на удалённой системе должна быть выбрана русская раскладка

image

Буфер обмена

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

habrahabr.ru

Доступ к консоли ваших виртуальных серверов из браузера / Хабрахабр

У вас есть ESXi (любой гипервизор) на котором запущены виртуальные серваки? Иногда бывает так, что нужен доступ к реальной консоли сервера и не всегда есть возможность использовать консоль vmware. Если решение вам интересно читаем дальше.

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

Давайте для начала изменим настройки виртуальной машины. Выбираем виртуальную машину -> Edit Settings -> Options -> General -> Configuration Parameters и добавляем 3 параметра:

RemoteDisplay.vnc.enabled = [true|false] - включаем vnc RemoteDisplay.vnc.port = [port #] - порт, на котором виртуальная машина будет доступна RemoteDisplay.vnc.password = [optional] - пароль к VNC

Если вы используете ESXi 5 версии, то вам еще нужно будет открыть порт на фаерволе этого гипервизора. Сделать это не так легко, как кажется на первый взгляд. Включаем SSH и создаем новый xml файл, с описанием нового правила для фаервола в /etc/vmware/firewall:

<!--rewall configuration information for VNC --> <ConfigRoot> <service> <id>Habra</id> <rule> <direction>inbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port>5901</port> </rule> <rule> <direction>outbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port> <begin>0</begin> <end>65535</end> </port> </rule> <enabled>true</enabled> <required>false</required> </service> </ConfigRoot>

После этого обновим конфиг фаервола и посмотрим, появился ли наш новый сервис:

/etc/vmware/firewall # esxcli network firewall refresh /etc/vmware/firewall # esxcli network firewall ruleset list | grep Habra Habra true

Основная проблема в том, что если сейчас ESXi перезагрузить, то нашего нового правила не будет. Самое простое решение скопировать XML-ку на storage, к которому у хоста есть доступ, а на самом хосте добавить в /etc/rc.local:

cp location-of-xml-file /etc/vmware/firewall esxcli network firewall refresh

Если вы хотите более правильное решение, то можно почитать тут.

Теперь ко всем нашим виртуальным машинам есть VNC доступ. Далее будем делать одну точку доступа ко всем серверам, используя Guacamole

Guacamole
С помощью Guacamole вы можете получить доступ к консоли своих серверов из любого браузера, который поддерживает: HTML5 и AJAX

Guacamole умеет работать с VNC и RDP. Установку можно производить на Debian, Ubuntu, Fedora

Установка Guacamole не составит большого труда. Примеры для Ubuntu. Установим зависимости:

sudo apt-get install tomcat6 libvncserver0 libfreerdp1 libvorbisenc2

Последнюю версию можно найти на сайте продукта:

wget http://switch.dl.sourceforge.net/project/guacamole/current/binary/ubuntu-12.04-amd64/guacamole-0.7.2-ubuntu-12.04-amd64.tar.gz tar -xzf guacamole-0.7.2-ubuntu-12.04-amd64.tar.gz cd guacamole-0.7.2-ubuntu-12.04-amd64 sudo dpkg -i *.deb

Если все сделали правильно, то зайдя на myip:8080/guacamole/ увидим окно ввода логина и пароля. Схема аутентификации по умолчанию читает все настройки из файла конфигурации /etc/guacamole/user-mapping.xml

<user-mapping> <authorize username="User1" password="userpassword"> <connection name="Server1"> <protocol>vnc</protocol> <param name="hostname">192.168.0.10</param> <param name="port">5902</param> <param name="password">VNCPASS</param> </connection> <connection name="Server2"> <protocol>vnc</protocol> <param name="hostname">192.168.0.10</param> <param name="port">5901</param> <param name="password">VNC</param> </connection> </authorize> </user-mapping>

где hostname — это адрес вашего esxi хоста, password — пароль для VNC. Теперь логинимся под пользователем User1 и подключаемся к вашим виртуальным серверам. Чтобы открыть виртуальную клавиатуру нажимаем: Ctrl+Alt+Shift

habrahabr.ru

VNC — удаленный доступ к компьютеру по сети / Хабрахабр

Введение в VNC. Материал ориентирован на неопытного пользователя.

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

image1. VNC-клиент на компьютере пользователя под управлением ОС Windows, с открытым рабочим столом VDS (виртуального сервера), работающего под управлением Ubuntu 9.10. Для начинающих пользователей администрирование Unix-сервера по VNC будет намного проще, чем через командную строку по SSH или панель управления с веб-интерфейсом. Программы с графическим интерфейсом, как правило, хорошо структурированы и более интуитивны в понимании, чем редактирование конфигурационных файлов по инструкциям. Администрирование сервера выглядит почти так же, как настройки десктопной версии операционной системы, будь то Linux или Windows. Можно даже установить на собственный компьютер аналогичную версию операционной системы для тренировки, и переходить к администрированию VDS/VPS уже после того, как будут понятны основные принципы настройки системы.

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

На удаленном компьютере должна быть запущена программа-сервер (VNC server), которая играет роль клавиатуры, мыши и монитора, и обменивается данными с компьютером пользователя. Доступ к VNC-серверу может быть защищен паролем.

На компьютере пользователя должна быть запущена программа-клиент (VNC client, VNC viewer), которая передает на удаленный компьютер информацию о нажатиях на клавиши и движениях мыши, получает от него изображение и выводит его на экран. VNC-клиенты существуют для Windows, Linux, FreeBSD, MacOS и многих других платформ. Есть также VNC-клиенты для карманных компьютеров и мобильных телефонов. При запуске VNC-клиента достаточно указать DNS-имя или IP-адрес удаленного компьютера, и пароль, если доступ к VNC-серверу защищен паролем.

Основной объем передаваемых по VNC данных приходится на графический информацию, выводимую на экран. Для работы требуется ширина пропускания канала от 32 Кбит/сек до 2 Мбит/сек. Для комфортной работы в полноцветном режиме при разрешении экрана 1024x768 скорость канала должна быть 1-2 Мбит/сек. При снижении качества графики, при уменьшении числа цветов и при некоторых дополнительных способах оптимизации, приемлемое удобство может обеспечить скорость 128 Кбит/сек. Канал занимается полностью только при обновлении больших участков экрана, при печати текста трафик заметно меньше, а в остальное время канал практически не используется. Если при передаче по каналу возникают большие задержки передачи пакетов (медленные каналы, спутниковая связь, большие расстояния), это вызывает ухудшение времени реакции на нажатие клавиш и движение мыши, что значительно снижает комфортность работы.

Другие статьи этой серии:Подключение к удаленному компьютеру по VNC. Работа с VNC-клиентом.Установка VNC-сервера на VDS и рекомендации по тюнингу

P.S. Мы сейчас пишем инструкции и прочую справочную информацию для работы с VDS по VNC. Далее планируются статьи «Работа с VNC-клиентом и рекомендации по тюнингу», «Установка VNC-сервера на VDS и рекомендации по тюнингу», «Администрирование VDS по VNC».

habrahabr.ru


Смотрите также

 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..