Удаленное управление компьютерами через интернет — ultravnc

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

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:

Общая схема

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

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

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:

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

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

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

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

Рекомендации по выбору оптимального режима работы

Как пользоваться VNC Viewer для создания подключения, мы разобрались. Теперь несколько слов по поводу предпочитаемых настроек.

Если внимательно посмотреть на окно создания соединения, в нем можно обнаружить вкладку для экспертов. Если в этих настройках выбрать, например, предпочитаемые алгоритмы сжатия передаваемых и принимаемых данных, то можно существенно снизить нагрузку на центральный процессор и оптимизировать применение технологии Virtual Network Computing даже для сетей с пропускной способностью на уровне 256 кбит/с. Для графики рекомендуется устанавливать высокий уровень компрессии (Compression Level) с минимальным качеством (JPEG Quality), а в качестве дополнительной оптимизации активировать уменьшение количества цветов (Restricted Colors или bgr233).

Кроме того, стоит обратить внимание, что на одном терминале может использоваться подключение к нескольким машинам на основе базового порта 5900 через параметр дисплея. По умолчанию основной дисплей имеет значение «0», а для всех остальных оно увеличивается («1», «2» и т

д.). Соответственно, изменятся порт (5901, 5902 и т. д.), который нужно будет указывать после адреса через двоеточие (например, 192.168.0.5:5901). В случае с динамическими (а не статическими) адресами, дополнительно можно воспользоваться получением динамического DNS, например, на основе DynDNS. Можно выставить такую настройку на маршрутизаторе или зарегистрироваться на портале сервиса в интернете. В этом случае служба будет передавать установленному клиенту все сведения, связанные с изменением IP подключаемого компьютера.

Шаг 1 — Установка Desktop Environment и сервера VNC

По умолчанию дроплеты с Ubuntu 16.04 не имеют графической среды рабочего стола и установленного сервера VNC, поэтому мы начнём с их установки. Мы установим пакеты последней версии среды рабочего стола Xfce и пакет TightVNC из репозиториев Ubuntu.

На вашем сервере установите пакеты Xfce и TightVNC.

sudo apt install xfce4 xfce4-goodies tightvncserver

Для завершения первичной настройки VNC сервера после его установки воспользуйтесь командой vncserver для установки надёжного пароля.

vncserver

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

Выполнение vncserver завершает установки VNC созданием файлов конфигурации по умолчанию, а также созданием информации для соединения с нашим сервером. После установки этих пакетов мы можем начать настраивать наш сервер.

Шаг 2 — Настройка сервера VNC

Сначала укажем команды, которые сервер VNC должен выполнять при запуске. Эти команды задаются в конфигурационном файле xstartup в поддиректории.vnc вашей домашней директории. Скрипт запуска был создан во время выполнения команды vncserver на предыдущем шаге, сейчас мы изменим некоторые команды для работы с Xfce.

При первом запуске VNC запускает инстанс сервера по умолчанию на порту 5901. Этот порт называется портом отображения (display port), и в VNC он имеет обозначение:1 . VNC может запускать много инстансов на других портах, например, :2 , :3 , и так далее. При работе с серверами VNC помните, что порт отображения с номером:X работает на порту 5900+X .

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

vncserver -kill:1

Вывод должен выглядеть похожим образом с точностью до идентификатора процесса (process ID):

Killing Xtightvnc process ID 17648

Перед внесением изменений в новый файл xstartup , сделаем резервную копию исходного файла.

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Теперь создадим новый файл xstartup используя nano или другой текстовый редактор.

nano ~/.vnc/xstartup

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

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Первая команда файла xrdb $HOME/.Xresources сообщает фреймворку графического интерфейса пользователя VNC, что необходимо использовать пользовательский файл.Xresources . Файл.Xresources сохраняет определённые пользовательские настройки рабочего стола, например, цвета терминала, тему курсора, рендеринг шрифтов. Вторая команда предписывает серверу запустить Xfce, который и позволяет вам комфортно управлять вашим сервером.

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

sudo chmod +x ~/.vnc/xstartup

Теперь перезапустим сервер VNC.

vncserver

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

New «X» desktop is your_server_name.com:1
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/liniverse.com:1.log

Установка VNC Viewer

Теперь перейдем непосредственно к инсталляции выбранного программного продукта. Заметим, что практически для всех модификаций процесс установки выглядит одинаково.

Для старта инсталляции в Windows версий 7 и выше файл установщика VNC-клиента запускается исключительно с администраторскими привилегиями (в меню ПКМ выбирается пункт запуска от имени администратора). В самом процессе инсталляции нет ничего необычного.

Пользователю нужно выбрать предпочитаемый язык, принять условия лицензионного соглашения, указать путь установки (его можно не менять), на одной из стадий добавить значок на «Рабочий стол», а затем просто нажать кнопку старта установки.

2 ответа

Если вы используете TightVNC 2.x, в Windows это не так прямо, как вы ожидали. Вы должны сохранить информацию о подключении в файле .vnc, и вы не можете просто открыть с помощью . tvnviewer.exe

Полная процедура заключается в том, что вы должны скопировать ярлык своего существующего средства просмотра VNC, переименовать его в свое имя подключения и щелкнуть его правой кнопкой мыши, щелкнуть «Свойства» и внутри параметра «Назначить объект редактирования», который называется optionsfile . Конечная цель должна выглядеть так:

«C:\Program Files\TightVNC\tvnviewer.exe» -optionsfile=»C:\fullpath\savedconnection.vnc»

Я новичок TightVnc, но знаком с методами программирования (ну, просто держа голову над ватерлинией). Этот вопрос немного устарел, но на какое-то время у меня было какое-то время. Вот что я сделал, чтобы получить копию TnvViewer ‘OptionsFile’:

Извините, поскольку я не могу подтвердить, что делают все варианты; Я был просто рад получить файл. Пока ссылка «Открыть с помощью Windows Explorer» подключает файл параметров с помощью TnvViewer, двойной щелчок по файлу параметров помещает меня прямо в TnvViewer на моем номинированном ПК. Надеюсь, это поможет другим новичкам.

источник

Установка VNC Viewer

Теперь перейдем непосредственно к инсталляции выбранного программного продукта. Заметим, что практически для всех модификаций процесс установки выглядит одинаково.

Для старта инсталляции в Windows версий 7 и выше файл установщика VNC-клиента запускается исключительно с администраторскими привилегиями (в меню ПКМ выбирается пункт запуска от имени администратора). В самом процессе инсталляции нет ничего необычного.

Пользователю нужно выбрать предпочитаемый язык, принять условия лицензионного соглашения, указать путь установки (его можно не менять), на одной из стадий добавить значок на «Рабочий стол», а затем просто нажать кнопку старта установки.

Connecting to your Raspberry Pi with VNC Viewer

There are two ways to connect to your Raspberry Pi. You can use either or both, depending on what works best for you.

Establishing a direct connection

Direct connections are quick and simple providing you’re joined to the same private local network as your Raspberry Pi. For example, this might be a wired or wireless network at home, at school, or in the office.

  • On your Raspberry Pi (using a terminal window or via SSH) use these instructions or run to discover your private IP address.

  • On the device you’ll use to take control, download VNC Viewer. For best results, use the compatible app from RealVNC.

  • Enter your Raspberry Pi’s private IP address into VNC Viewer:

Establishing a cloud connection

You are entitled to use RealVNC’s cloud service for free, provided that remote access is for educational or non-commercial purposes only.

Cloud connections are convenient and encrypted end-to-end. They are highly recommended for connecting to your Raspberry Pi over the internet. There’s no firewall or router reconfiguration, and you don’t need to know the IP address of your Raspberry Pi, or provide a static one.

  • Sign up for a RealVNC account : it’s free and it only takes a few seconds.

  • On your Raspberry Pi, sign in to VNC Server using your new RealVNC account credentials:

  • On the device you’ll use to take control, download VNC Viewer. You must use the compatible app from RealVNC.

  • Sign in to VNC Viewer using the same RealVNC account credentials, and then either tap or click to connect to your Raspberry Pi:

Authenticating to VNC Server

To complete either a direct or cloud connection, you must authenticate to VNC Server.

If you’re connecting from the compatible VNC Viewer app from RealVNC, enter the user name and password you normally use to log in to your user account on the Raspberry Pi. By default, these credentials are and .

If you’re connecting from a non-RealVNC Viewer app, you’ll first need to downgrade VNC Server’s authentication scheme, specify a password unique to VNC Server, and then enter that instead.

  • If you are in front of your Raspberry Pi and can see its screen, open the VNC Server dialog on your Raspberry Pi, select Menu > Options > Security, and choose VNC password from the Authentication dropdown.
  • Or if you’re configuring your Raspberry Pi remotely from the command line, then to make the changes for Service Mode (the default configuration for the Raspberry Pi):

    • Open the config file.
    • Replace with and save the file.
    • In the command line, run . This will prompt you to set a password, and will insert it for you in the right config file for VNC Server running in Service Mode.
    • Restart VNC Server.

Добавляем 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

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

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

Смена пароля

Для смены пароля на подключения к VNC, вводим команду:

vncpasswd

Система напишет, в каком файле на данный момент хранится пароль и запросит ввод нового:

Using password file /root/.vnc/passwd
Password: 
Warning: password truncated to the length of 8.
Verify:   
Would you like to enter a view-only password (y/n)? n

* как видим, файл для хранения пароля в данном примере — /root/.vnc/passwd; требование по минимальной длине пароля — 8 символов; также после ввода нового пароля система предложит ввод пароля на режим «только для чтения».

Если необходимо указать конкретный файл, в котором должен хранится пароль, вводим, например, такую команду:

vncpasswd /etc/vnc/passwd.txt

С помощью Vino[править]

Данный способ протестирован на Рабочей станции 8 и 9 и в Starterkits/Regular на основе MATE. Пакет включен в Альт Рабочая станция.

1. Установите пакет vino-mate:

apt-get install vino-mate

2. В главном меню откройте Параметры -> Общий доступ к рабочему столу или запустите от обычного пользователя:

vino-preferences

3. Настройте необходимые Вам параметры подключения:

4. Для первичного применения параметров необходимо перезапустить сеанс (в дальнейшем изменение настроек будет происходить мгновенно). Если пакет включен в дистрибутив — данное действие не требуется.

PS: По умолчанию включено шифрование, если оно не нужно, либо Ваш VNC-клиент не поддерживает его, отключается он следующей командой:

gsettings set org.gnome.Vino require-encryption false
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector