Подключение к удаленному компьютеру по 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-клиент устанавливается из репозитория командой:
Для ветви 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-клиента от удаленного компьютера
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 | 11 Кб | 0.09 сек | 7 Кб | 0.06 сек |
HexTile | 208 Кб | 1.6 сек | 118 Кб | 0.95 сек |
Raw | 248 Кб | 2 сек | 128 Кб | 1 сек |
5. Частые проблемы
Не удается подключиться к VNC-серверу
Нужно проверить:
- есть ли доступ к интернету;
- отвечает ли виртуальный сервер на пинги;
- запущен ли на виртуальном сервере VNC-сервер;
- нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
- правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал
Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию — Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия — ZLib, ZRLE, Tight.
Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.
Другие статьи этой серии:
VNC — удаленный доступ к компьютеру по сети. Введение в VNC.
Установка VNC-сервера на VDS и рекомендации по тюнингу
P.S. Если есть замечания, добавления, вопросы — пишите в комменты, по ним буду дописывать статью.
Как подключиться к серверу по VNC
Virtual Network Computing (VNC) — это система удаленного доступа к рабочему столу компьютера по сети. Данные о нажатии клавиш и движении мыши, выполняемых пользователем на собственном компьютере, передаются по сети на удаленный компьютер и воспринимаются им как действия с его собственными клавиатурой и мышью.
Это очень удобно, так как управление удаленной машиной осуществляется так же, как будто вы непосредственно работаете с ней.
Часто доступ по VNC может пригодиться, если по какой-либо причине не удается подключиться стандартным способом по SSH или RDP.
Подключение через VNC доступно только для серверов на виртуализации KVM.
Самый простой и доступный способ выполнить подключение — использовать для этого панель управления виртуальным контейнером VMmanager. Такая панель есть у каждого VDS.
Это позволяет подключиться к удалённому серверу без установки какого-либо клиента — используется лишь браузер.
Перейти в VMmanager можно прямо из личного кабинета — раздел Товары
— Виртуальные серверы
— выбираете ваш сервер — кнопка Перейти
.
После чего система перенаправит вас из личного кабинета в панель VMmanager.
Здесь выберите раздел Управление
— Виртуальные машины
, затем выделите строку с вашим сервером и в верхнем углу нажмите на значок VNC
:
Если вы используете VMmanager 6, то нажмите на кнопку VNC
во вкладке Виртуальные машины
.
Откроется консоль VNC:
Здесь вы сможете подключиться к серверу, введя логин (в примере выполняем вход под пользователем root, доступ к которому предоставляется вам при покупке сервера) и пароль для авторизации.
Обратите внимание, что данные вводить нужно вручную, скопировать их из буфера обмена не получится. Также, в целях безопасности, пароль при вводе не отображается, поэтому важно убедиться, что все символы были введены верно. В противном случае система сообщит, что данные не корректны и попросит повторить ввод:
Если пароль был введен верно, то в консоли вы увидите вот такое приветственное сообщение (текст может немного отличаться в зависимости от установленной на вашем VDS операционной системы):
Стоит отметить, что при подключении по VNC к серверам с установленной ОС Linux будет отображаться графическая консоль сервера — стандартная командная строка, как при подключении по SSH. Если есть необходимость в графическом интерфейсе — можно его установить по нашей инструкции. Тогда при подключении по VNC будет открываться рабочий стол.
Для ОС Windows графический интерфейс устанавливается по умолчанию, поэтому при подключении по VNC к такому серверу будет отображаться привычный рабочий стол. VNC для Windows используется в основном как средство для устранения неполадок при недоступности сервера — для работы больше подходит подключение по RDP.
Подключение к удаленному компьютеру по VNC. Как поднять свой VNC-сервер в Ubuntu Linux
VNC — это система удаленного управления десктопом компьютера. Пользователь VNC клиента видит изображение десктопа VNC сервера и управляет им мышью и клавиатурой так же, как своим собственным компьютером.
VNC сервер можно запустить на рабочем комьютере, и по необходимости заходить на него из дома. Или наоборот. Для соединения надо убедиться, что TCP порт, используемый сервером (по умолчанию 5900) доступен для входящих соединений от клиента.
UltraVNC берется на . Другие известные реализации VNC — RealVNC и TightVNC , еще варианты можно найти . Теоретически они все совместимы между собой, хотя некоторые специальные функции (clipboard или file transfer) могут между разными реализациями не работать.
Помогаем новичкам
Удобен VNC и для помощи другим пользователям. Помогать, видя происходящее на экране, гораздо проще.
Однако у очень многих стоят раутеры и файерволы, и нереально требовать от новичка умения открыть для входящих соединений нужный порт. Нам на помощь приходит reverse connection (обратное соединение). В этом режиме соединение инициирует VNC сервер.
Опытный пользователь запускает у себя VNC клиент в listening mode (режиме слушания порта) (vncviewer.exe /listen ) и делает у себя порт 5500 доступным снаружи. Новичку остается только скачать и запустить VNC сервер и соединиться с клиентом по указанному IP адресу.
Вот специальная страница с инструкциями для новичка. Думаю, опытному пользователю подробные инструкции не нужны. Отмечу только, что во время соединения clipboard становится общим, и что если у новичка разрешение экрана больше вашего, то в клиенте можно масштабировать изображение до приемлемого размера.
Дополнительно
Достоинства VNC — многоплатформенность и бесплатность. Если у вас везде стоит Windows XP, то для удаленного доступа вам вероятно подойдут и встроенные средства — Remote Desktop или Remote Assistance. Вроде бы их тоже можно соединять через reverse connection.
Если у вас динамический внешний IP адрес, удобно сделать себе (бесплатный) Dynamic DNS, например на dyndns.com . У вас на компьютере будет работать маленькая программка (а в некоторых раутерах есть такая встроенная функциональность), извещающая DynDNS сервис об изменениях вашего IP. Как результат, выбранный вами domain, к примеру pupkin.dyndns.org, будет всегда показывать на ваш текущий IP адрес
Если вы профессионально занимаетесь технической поддержкой, то вам может быть особенно удобен
. Это специальная облегченная версия VNC сервера, которая может делать только reverse connection и только на заранее сконфигурированные вами IP адреса. Конечно, тогда вы должны быть достаточно авторитетны для пользователя, чтобы он согласился скачать и запустить этот сконфигурированный 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 и .
Для 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-серверу
Нужно проверить:- есть ли доступ к интернету;
- отвечает ли виртуальный сервер на пинги;
- запущен ли на виртуальном сервере VNC-сервер;
- нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
- правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал
Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию — Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия — ZLib, ZRLE, Tight.Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.
Для установки нам потребуется сервер или удаленный компьютер, локальный компьютер с клиентом VNC с поддержкой соединения через SSH тунель. Пользователям Windows мы рекомендуем RealVNC, UltraVNC или TightVNC. В Mac OS можно использовать стандартную утилиту Screen Sharing, или же в app store установить другие VNC приложения. Пользователи Linux имеют более широкий выбор программ, таких как krdc, vinagre, TightVNC, RealVNC, Remmina и др.
Установка 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 созданием файлов конфигурации по умолчанию, а также созданием информации для соединения с нашим сервером. После установки этих пакетов можно настраивать сервер.
Настройка сервера 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, затем сохраните и закройте файл.
~/.vnc/xstartup
#!/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
Сперва создадим SSH соединение на локальной машине для установки безопасного соединения с VNC. Вы можете сделать это с помощью терминала на Linux или OS X следующей командой. Не забудьте заменить username и server_ip_address на имя своего пользователя с правами sudo и IP адрес вашего сервера.
$ ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Если вы используете графический клиент SSH, например, PuTTY, задайте server_ip_address в качестве IP адреса соединения, а также установите localhost:5901 в качестве пробрасываемого порта в настройках соединения SSH своего клиента.
Далее вы можете использовать свой клиент VNC для установки соединения с сервером VNC на localhost:5901 . Вам будет предложено аутентифицироваться. Используйте пароль, заданный вами на первом шаге.
После успешной установки соединения вы увидите рабочий стол Xfce по умолчанию. Он должен выглядеть похожим образом:
Теперь вы имеете полный доуступ к управлению сервером и файлам в вашей домашней директории.
Создание файла сервиса VNC
Сначала создадим юнит-файл /etc/systemd/system/ с помощью вашего текстового редактора:
$ sudo nano /etc/systemd/system/
Скопируйте и вставьте в него следующее содержимое. Убедитесь, что вы изменили значение поля User и имя пользователя в поле PIDFILE на ваши значения.
$ /etc/systemd/system/
Description=Start TightVNC server at startup
After=syslog.target network.target
Type=forking
User=sammy
PAMName=login
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800:%i
ExecStop=/usr/bin/vncserver -kill:%i
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
Активируем юнит-файл.
$ sudo systemctl enable
Остановим текущий инстанс сервера VNC, если он запущен.
$ sudo systemctl start
Убедимся, что сервис запущен, этой командой:
$ sudo systemctl status >
Если запуск прошёл корректно, вывод должен выглядеть похожим образом:
Название Вывод
This email address is being protected from spambots. You need JavaScript enabled to view it.
— TightVNC server on Ubuntu 16.04
Loaded: loaded (/etc/systemd/system/ ; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago
Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS)
…
systemd: Starting TightVNC server on Ubuntu 16.04…
systemd: pam_unix(login:session): session opened for user finid by (uid=0)
systemd: Started TightVNC server on Ubuntu 16.04.
Готово! Вы смогли установить и настроить сервер VNC на вашем сервере с Ubuntu 16.04. Отныне Вы можете управлять файлами, программным обеспечением и настройками с помощью привычного графического интерфейса.
Virtual Network Computing (VNC) — система для удаленного доступа к рабочему столу. Если вы представляете себе Remote Desktop или RAdmin, то VNC решает аналогичную задачу, только VNC-сервера распространяются бесплатно и с открытым исходным кодом. Важно отметить, что VNC не является протоколом. Используемый протокол называется Remote FrameBuffer (RFB). Этот протокол полностью описан в этом PDF .
Зачем кому-то поднимать VNC:
- Если пробрасывание UI по SSH слишком тормозит;
- Сервер используется как виртуалка, только с совместным доступом;
- Торрентокачалка с белым IP, просто ставим Transmission и вперед;
- Своего рода альтернатива проксям и VPN ;
- И прочее, на что фантазии хватит;
Приступим. Все описанные ниже шаги проверялись на Ubuntu Linux 14.04 LTS, но также должны без особых изменений работать на других версиях Ubuntu, а также других системах. Для эксперимента нам понадобится ненужная машина, возможно, виртуалка в каком-нибудь DigitalOcean , имеющая по крайней мере 512 Мб памяти. Если вы планируете запускать тяжелые GUI-программы вроде Google Chrome, то сразу выделяйте 1 Гб, а лучше и того больше. Если выделить только 512 Мб, вы сможете открыть только одну вкладу с GMail, после чего память закончится, я проверял. Меня лично очень печалит, что браузеры стали такими прожорливыми, но это, пожалуй, тема для отдельного поста.
На машине, где будем поднимать VNC, под рутом заводим нового пользователя:
adduser
ubuntu
usermod -G
sudo
ubuntu
Прописываем ему наш ~/.ssh/id_rsa.pub:
su
ubuntu
vim
~/
.ssh/
authorized_keys
chmod
0600 ~/
.ssh/
authorized_keys
У себя на компьютере в ~/.ssh/config дописываем:
Host vnc-server
Hostname 123.45.67.89
User ubuntu
LocalForward 5901 localhost:5901
В VNC не шифруется трафик, поэтому мы будем ходить в него, используя перекидывание портов по SSH. Если вы также собираетесь использовать технику проброса звука, описанную в заметке Осилил запуск GUI-приложений в Docker , добавьте строчку:
RemoteForward 3333 localhost:4713
Заходим на vnc-server под пользователем ubuntu, говорим:
sudo
apt-get update
sudo
apt-get install
xubuntu-desktop tightvncserver xfonts-base \
xfonts-75dpi xfonts-100dpi
Как вы могли заметить, в качестве конкретной реализации сервера был выбран TightVNC. Я имел опыт работы с ним несколько лет назад. Уже не помню точно, чем именно TightVNC тогда выделялся на фоне остальных VNC-серверов. Помню, что он был прост в установке и настройке, совместим со всеми клиентами и просто работал.
Правим файл ~/.vnc/xstartup, содержание должно стать примерно таким:
#!/bin/sh
Xrdb $HOME
/
.Xresources
xsetroot -solid
grey
startxfce4 &
(sleep
3
&&
xfce4-panel)
&
Запустить сервер:
vncserver:1 -localhost -nolisten tcp
Здесь аргумент :1 — это номер дисплея. Можно запускать несколько десктопов, работающих одновременно. Флаг -localhost означает принимать соединения только с этой же машины. Параметр -nolisten tcp нужен для того, чтобы порт 6001 не торчал наружу. При первом запуске сервера понадобится ввести пароль для доступа к десктопу. Обратите внимание, что пароль обрезается до восьми символов. Также вас спросят про отдельный пароль для view-only соединения:
Would you like to enter a view-only password (y/n)? n
Сменить пароль можно командой:
Остановить сервер:
vncserver -kill :1
Чтобы подключиться к работающему серверу, нужен какой-нибудь VNC-клиент. В Ubuntu по умолчанию идет Remmina. В маках, как мне рассказывали, VNC клиент находится в Finder → Connect to Server. В качестве адреса сервера указываем localhost:5901, оттуда соединение будет переброшено по SSH на порт 5901 VNC-сервера. В общем случае номер порта вычисляется, как 5900 + номер дисплея.
Дополнение: А во FreeBSD я делаю так:
sudo
pkg install
tightvnc
vncviewer -bgr233
localhost:5901
Если все было сделано правильно, вы увидите среду рабочего стола Xfce. Ее также следует немного донастроить. В Applications Menu → Settings → Session and Startup во вкладке Advanced ставим галочку Launch GNOME services on startup. Во вкладке Application Autostart отключаем разные лишние сервисы типа Bluetooth Applet. Иначе некоторые приложения, в частности, Skype, могут ронять вообще все иксы с очень странными ошибками в логах. Я лично оставил только следующие галочки:
Теперь прописываем VNC на автозапуск. В /etc/init.d/vncserver пишем.
Как дистанционно управлять домашним компьютером из любого места с помощью VNC 📀
VNC позволяет удаленно обращаться к компьютеру и использовать его рабочий стол либо через Интернет, либо из другой комнаты в вашем доме. Windows включает функцию удаленного рабочего стола, но она доступна только в Профессиональных выпусках Windows.
Некоторые люди могут предпочесть TeamViewer или другую службу, но VNC позволяет вам устанавливать и управлять вашим собственным сервером без использования централизованного сервиса. Клиенты и серверы VNC доступны для всех платформ, но мы будем рассматривать Windows здесь.
Установка VNC-сервера
Во-первых, вам необходимо установить сервер VNC на компьютер, к которому вы хотите получить доступ удаленно. Мы будем использовать TightVNC здесь, но есть и другие VNC-серверы, которые вы также можете использовать, например UltraVNC.
TightVNC устанавливается по умолчанию как системная служба, поэтому он всегда будет работать в фоновом режиме, пока ваш компьютер включен. (Конечно, вы всегда можете отключить услугу вручную.) Он также автоматически разрешает себя в брандмауэре Windows — если вы используете другой брандмауэр, убедитесь, что брандмауэр не блокирует TightVNC, или вы не сможете подключиться.
Обязательно обеспечьте свой VNC надежным паролем, особенно если вы размещаете свой VNC-сервер в Интернете!
После быстрой установки TightVNC теперь будет запущен на вашем компьютере. Вы можете использовать TightVNC Service — интерфейс управления в меню «Пуск», чтобы настроить сервер.
Одним из важных параметров, которые вы хотите изменить, является использование портов TightVNC. Порт по умолчанию для VNC — 5900 — вы можете увеличить свою безопасность, изменив его на другой порт. Люди, просматривающие открытые серверы VNC, будут пытаться подключиться к порту 5900, обычно не замечают серверы VNC, работающие на других случайных портах, таких как 34153.
Вы также можете изменить порт веб-доступа по той же причине — или полностью отключить доступ к Интернету.
Перенаправление портов и настройка динамического DNS
На вашем компьютере теперь запущен сервер VNC, поэтому вы сможете подключиться к нему с других компьютеров в локальной сети. Если вы хотите подключиться к нему из Интернета, вам нужно будет сделать еще несколько вещей.
Во-первых, вам необходимо перенаправить порт сервера VNC на ваш маршрутизатор. Этот процесс отличается на каждом маршрутизаторе, но вам нужно будет использовать веб-интерфейс вашего маршрутизатора для пересылки портов.
- Подробнее: как перенаправить порты на маршрутизатор
Вы также можете настроить динамическое имя DNS-хоста для своей домашней сети. Поставщики интернет-услуг часто меняют IP-адрес, назначенный домашним сетям, а это значит, что если ваш домашний IP-адрес изменится, вы не сможете подключиться к домашнему компьютеру.
- Подробнее: как легко получить доступ к домашней сети из любого места с помощью DDNS
Подключение к компьютеру
С сервером VNC, работающим на удаленном компьютере, вы можете использовать клиент VNC на другом компьютере для подключения. TightVNC включает в себя клиента VNC — вы можете установить TightVNC на другой компьютер и отменить выбор сервера в процессе установки только для установки средства просмотра. После его установки вы найдете TightVNC Viewer в меню «Пуск».
Введите адрес своего домашнего компьютера для подключения. Вы можете использовать несколько разных типов адресов:
- Используйте локальный IP-адрес компьютера, если вы находитесь в той же локальной сети, что и компьютер.
- Используйте IP-адрес вашей домашней сети, если вы получаете доступ к компьютеру через Интернет.
- Используйте динамическое DNS-имя хоста, если вы настроите динамический DNS и получаете доступ к компьютеру через Интернет.
Для получения дополнительной информации об определении локальных или удаленных IP-адресов, используемых вашим компьютером, читайте: Как найти частные и общедоступные IP-адреса вашего компьютера
Если вы используете другой порт для своего VNC-сервера (как вы, вероятно, должны быть), добавьте номер порта после двух двоеточий.
После подключения вы увидите рабочий стол удаленного компьютера в окне на вашем экране.
Дополнительные способы получения профессиональных функций в домашних версиях Windows см. В разделе «Как получить профессиональные функции в Windows Home Versions с сторонними инструментами»
Tweet
Share
Link
Plus
Send
Send
Pin
Как туннелировать VNC через SSH — Сеть без проблем
Если вы подключаетесь к удаленному рабочему столу по протоколу VNC, ваше соединение может быть небезопасным. Некоторые клиенты VNC, такие как популярный TightVNC, не шифруют ваше соединение после начальной стадии входа в систему. Чтобы обойти проблему, вы можете туннелировать соединение VNC через туннель Secure Shell (SSH).
Туннель SSH не только обеспечивает полностью безопасное соединение для VNC, но также позволяет использовать соединения VNC, когда типичный порт VNC (порт 5901) заблокирован. Некоторые корпоративные сети блокируют общие порты, такие как порт 5901, для дополнительной безопасности, поэтому туннелирование VNC через SSH позволит вам обойти эту проблему.
Настройка PuTTY
В Windows 10 встроен SSH-клиент, благодаря Windows PowerShell, но это только недавняя разработка. Если вы хотите узнать, как туннелировать VNC через SSH, рекомендуется использовать PuTTY для подключения к вашему SSH-серверу.
PuTTY предлагает графический интерфейс пользователя, который можно легко настроить, чтобы вы могли туннелировать через соединение другое программное обеспечение, такое как программа просмотра VNC. Чтобы это работало, вам необходимо иметь подходящий SSH-сервер, установленный на удаленном настольном ПК или сервере, к которому вы хотите подключиться через VNC.
- Для начала загрузите PuTTY и откройте клиент.
- Главное меню сеанса позволяет вам ввести IP-адрес вашего сервера или имя хоста. Введите адрес вашего SSH-сервера в текстовом поле Имя хоста (или IP-адрес). Если ваш SSH-порт отличается от стандартного порта 22, введите его в поле «Порт».
- Вы также захотите сохранить этот сеанс, поэтому в текстовом поле «Сохраненные сеансы» добавьте подходящее имя для вашего SSH-соединения и нажмите кнопку «Сохранить».
- В левом меню разверните вкладку «Соединение», затем сделайте то же самое для SSH. Нажмите на Туннели.
- В разделе «Переадресация портов» меню «Туннели» вы предоставите сведения, которые позволят PuTTY туннелировать ваше соединение VNC через SSH. В текстовом поле «Порт источника» введите 5901. В текстовом поле «Адресат» введите свой удаленный IP-адрес: 5901, используя IP-адрес удаленного настольного ПК или сервера. Например, 192.168.1.100:5901 подойдет.
- Вернитесь в раздел «Сеанс», щелкните имя сохраненного сеанса в разделе «Сохраненные сеансы», затем нажмите «Сохранить», чтобы сохранить настройки.
- Когда настройки PuTTY будут готовы, установите соединение SSH, нажав кнопку «Открыть» внизу. Вам потребуется ввести имя пользователя и пароль, необходимые для подключения SSH, когда PuTTY попытается это сделать.
- После завершения входа в систему вам будет предоставлен доступ к окну SSH-терминала для удаленного рабочего стола.
С активным туннелем SSH к серверу удаленного рабочего стола вы сможете установить соединение VNC. Вы можете использовать любой VNC-клиент по вашему выбору, но в этом руководстве будет рассказано, как подключиться с помощью TightVNC, популярного и бесплатного VNC-клиента для Windows и Linux.
Вы можете свернуть PuTTY, пока соединение активно.
Подключение с помощью TightVNC
Если ваше SSH-соединение активно, подключение с использованием TightVNC довольно простое. Это предполагает, что ваш VNC-сервер работает на вашем удаленном ПК или сервере.
- Откройте TightVNC, чтобы начать. В разделе «Подключение» введите localhost :: 5901 или 127.0.0.1::5901 в текстовое поле «Удаленный хост». PuTTY контролирует этот порт и автоматически отправит это соединение, когда попытка будет предпринята, на ваш удаленный сервер.
- Вы можете настроить свое подключение VNC дальше, нажав «Опции», но, если вы готовы к подключению, нажмите «Подключиться».
- Вам будет предложено ввести пароль вашего сервера VNC, поэтому укажите его во всплывающем окне «Аутентификация VNC» и нажмите кнопку «ОК».
Если ваше SSH-соединение работает правильно, TightVNC должен загрузить окно удаленного рабочего стола VNC, готовое для использования.
Клиенты SSH с поддержкой туннелирования
Хотя TightVNC является популярным клиентом Windows для VNC-соединений, он не поддерживает SSH-туннелирование внутри самого клиента, что требует использования PuTTY для установления соединения.
Однако другие VNC-клиенты включают SSH-туннелирование внутри самого клиента. Одним из примеров является SSVNC, который, хотя и базовый, будет туннелировать по SSH перед установлением VNC-соединения. SSVNC поддерживается операционными системами Windows и Linux.
- Откройте клиент SSVNC и в главном окне клиента SSVNC заполните необходимые поля. В разделе VNC Host: Display введите [email protected]:1. Замените SSHusername на имя пользователя, которое вы будете использовать для вашего SSH-соединения, и замените адрес удаленного IP-адреса на IP-адрес удаленного рабочего стола. Например, [email protected]:1.
- Убедитесь, что вы выбрали опцию Использовать SSH или SSL + SSL перед подключением. Когда вы будете готовы, нажмите кнопку Подключиться.
- Вас попросят ввести пароль SSH во всплывающем окне терминала. Введите пароль, затем нажмите клавишу ввода на клавиатуре.
Как только SSH-туннель будет активен, ваше VNC-соединение будет запущено, и должно появиться окно вашего VNC-клиента, где вы можете начать использовать удаленный рабочий стол.
Хотя соединения VNC по умолчанию не шифруются, собственный протокол удаленного рабочего стола Microsoft зашифрован. Если вы используете Windows и планируете подключиться к удаленному ПК или серверу Windows, вы можете подключиться с помощью инструмента «Подключение к удаленному рабочему столу».
Статьи по теме:Записная книжка IT-шника — ЖЖ
Кто к нам с мечом пойдёт…
Первосвященник Каиафа — глава Синедриона или, по-современному говоря, спикер религиозного парламента, конечно, раскусил «амбициозного мальчишку» — Иисуса Христа. Он сразу понял, кому именно адресована фраза «кесарю — кесарево». Стало быть Иисус — прямая угроза финансовому благополучию Храма. Сдать его римлянам, попросив смертной казни у Пилата, — риск. Вообще-то, Понтий Пилат с уголовными и политическими не особо церемонится и приговоры утверждает заочно. Но не в данном случае. Пилату, конечно, уже всё донесли. Он, конечно, заинтересовался. Пилат давно точит зубы на корван.
Остаётся одно — по-тихому пристукнуть самозванца. А это сделать не так уж просто. Во-первых, Иисус — прирождённый конспиратор (в этом мы чуть позже убедимся). Во-вторых, Иисус действительно всюду ходит с охраной. Причём, некоторые из апостолов вооружены. Пётр, например, всегда ходил с мечом (в конце концов, он им воспользуется, как мы знаем). Меч — редкая привилегия: ходить с оружием разрешено только римским гражданам — это их неотъемлемое право, в отличие от не-граждан. Туземцам за ношение оружия — смерть через распятие. Даже храмовая стража Синедриона вооружена деревянными дубинками и кольями.
Значит, Пётр — римский гражданин. Как Пётр, рождённый в Иудее, мог стать римским гражданином? Например, повоевав римским наёмником. В 19-м году сын Тиберия Германик воевал в Каппадокии и Армении. Естественно, во вспомогательные войска он набирал наёмников, откуда поближе — с Востока. Наёмникам за особые заслуги перед Римом давали награду — Крепостной венок или Гражданский венок. Носитель такой награды автоматом получал гражданство. Видимо, Пётр был хорошим солдатом.
Служили наёмники в кавалерии, следовательно у Петра не короткий меч — «спата», а длинный кавалерийский — «гладиус». Большой меч под одеждой не спрячешь, его можно носить только открыто. Следовательно, каждый в Иерусалиме знает — Иисуса окружают вооружённые люди. На них с кольями переть бессмысленно.
А может быть всё-таки Пётр имел короткий меч и носил его под одеждой нелегально? Вряд ли… Вряд ли не склонный к самоубийству человек в праздничном Иерусалиме, где на каждом шагу римские патрули, будет таскать с собой оружие, глупо нарываясь на смерть. Да даже если б не патрули! На Петра мгновенно донесли бы, вооружись он незаконно: город полон шпионов и стукачей, а у Христа и апостолов много врагов. В городе все шпионят за всеми. Даже Пилат знает, что на него постоянно идут какие-то докладные в Рим… Нет, Пётр носил меч открыто и наверняка его на улице не раз останавливал патруль и спрашивал буллу — документ о гражданстве. Пётр буллу имел…
Значит, днём Иисус всегда появляется в городе в окружении охраны из бывших наёмников… Ночует он в пригороде на виллах своих зажиточных друзей. Как его взять?
И тут Иисус подставился сам!
«У вас продаётся славянский шкаф?»
Близится праздничная пасхальная ночь. Иисус говорит ученикам: сходите, мол, в город, сегодня мы будем отмечать праздник там, я так решил. Идите по такому-то адресу к такому-то человеку (примечательно, что ранее этот адрес и этот человек был апостолам не знаком). Внимательно посмотрите, есть ли там кувшин. Если кувшин на месте, смело заходите и говорите хозяину такие-то слова.
Ученики выполняют всё в точности. Идут на место. Там, как говорят в шпионских романах, снимают пароль (обнаруживают, что кувшин на месте и значит явка не провалена). Говорят хозяину нужные слова… И только потом на явку приходит Иисус с остальными. Явка — небольшой ресторанчик. Хозяин — содержатель ресторанчика — человек Христа.
Какое-то время Иисус с апостолами пьют и гуляют. Нервничают только двое — Иисус и Иуда. Во время гулянки Иисус вдруг говорит Иуде примерно следующее: «Ладно, иди и делай, что задумано!» Иуда уходит. А Иисус, немного погодя, предлагает всем подышать воздухом. Ничего необычного в этом предложении нет, нам всем оно очень понятно: люди гуляли, пили вино — теперь надо немного проветрится. Естественное желание во все времена. Но вместо того, чтобы просто проветриться, Иисус ведёт всех… за город, за речку Кедрон — в Гефсиманский сад. Зачем? Почему? Разве нельзя было заночевать там же, с блудницами? Раньше Христос не отличался склонностью к ночёвкам в лесу, у него, как мы знаем, полно состоятельных друзей.
И самое главное — ведь Иуда ушёл РАНЬШЕ остальных. И о том, куда именно направится Иисус с учениками, он знать не мог. Если, конечно, Иисус сам не сказал ему об этом заранее. Но ведь Иуда точно привёл людей первосвященников в Гефсиманский сад, где и «сдал» им Иисуса! Значит, план был разработан ими обоими. И Иуда — самый преданный Христу человек.
Можно предположить, что сказал Иуда Каиафе. То, что велел сказать Иисус: люди Иисуса перепились и дрыхнут сейчас в Гефсиманском саду. Сопротивления они не окажут. Да и место глухое. Естественно, Иуда попросил денег «за предательство». Ибо бескорыстие — подозрительно.
А Христос между тем просто организовал засаду. И его план сработал…
Ночь. Пригород Иерусалима. Гефсиманский сад. Иисус сильно нервничает. Как не нервничать, если иные из его апостолов действительно дрыхнут! Им-то простительно: в большинстве своём апостолы о планах Иисуса не знают, знают только двое-трое. В их числе, естественно, и Пётр. А между тем Назаретянин поставил на карту свою жизнь. Тут занервничаешь.
Появляется Иуда с отрядом головорезов Каиафы. Иуда целует Христа… И не говорите мне, что это был предательский поцелуй!!! Нет, это был братский поцелуй! Поцелуй людей, затеявших большое общее дело. «Держись! Я сделал всё, что ты просил! Теперь твоя очередь!» — вот смысл иудиного поцелуя.
Вот тут Пётр и пускает в ход свой меч… Если бы храмовая стража пришла просто арестовать Иисуса, стычки бы не было. «Вы арестованы, пройдёмте!» — «Очень хорошо, я давно этого жду. Идём.» Нормальный мирный вариант — вариант ареста. Но Христа пришли не арестовывать, а убивать под покровом ночи. Именно поэтому вспыхивает быстротечная схватка, окончившаяся кровью. Пётр отрубает ухо одному из нападавших. История донесла до нас даже имя пострадавшего — Малх.
Иисус останавливает резню: он уже победил! И Пётр опускает меч. Что, собственно, случилось? А случилась жуткая для Каиафы неприятность — коллективная драка в праздничную ночь с нанесением тяжких телесных, в которой участвовали его люди. И самое противное во всём этом — произошло нападение туземцев на римского гражданина! Римлянин даже был вынужден применить оружие. Ай-яй-яй… Такое дело не замять. С таким делом Пилат будет разбираться лично.
«За каким вы туда ночью попёрлись с кольями?» — спросит у Каиафы Пилат и в глазах его, помимо обычной усталости, будет светится живой огонёк заинтересованности и всепонимания. Здесь возможен только один вариант ответа: «Арестовать богохульника хотели, ваше благородие! Днём несподручно было, они ведь ребята горячие, а тут перепились все. Ну мы и решили воспользоваться. Чтоб без крови обошлось».
Арестовали? — Арестовали, вашбродь! — Ну давай его сюда…
Трижды не пропоёт петух…
Иисус своего добился. Он арестован. Его ведут в город. Сзади — так, на всякий случай — идёт Пётр с мечом. Мало ли что… Вдруг захотят Иисуса дубинками забить «при попытке к бегству». Соблазн-то велик!
Привели в дом Каиафы. Ситуация накаляется. Христос получает пару оплеух. Пётр не вмешивается. Его роль — главный свидетель, римский гражданин. Кто-то узнаёт Петра, показывает пальцем: да он, блин, сам апостол, христов дружок! Пётр отрицает: да нет, я так просто гулял ночью по садику, вижу — хотят парня мочить. Может, думаю, разбойники? Решил защитить паренька… Но Петра опять кто-то опознаёт.
Испугался ли Пётр, как предполагают Евангелия? Навряд ли… Пётр — ветеран войны. Начальник Иисусовой охраны и не такое видел в жизни. Этих безоружных горожан он может пучками косить. Просто ситуация становится всё менее определённой: то ли Пётр действительно христов подельник, свидетельство коего нужно на десять поделить, то ли и вправду случайный прохожий, но в любом случае — римский гражданин. И ничего туземцы с ним поделать не могут, даже если захотят. Он не в их юрисдикции. Поэтому Пётр спокойно уходит: ситуация окончательно вышла из-под контроля Каиафы, теперь Иисуса и подавно убить невозможно — весь город переполошили. Чего Петру теперь зря подставляться — Каиафа его, конечно, не накажет — руки коротки, а вот Пилату может что-нибудь не понравиться. Да и дело своё Пётр, в общем-то, уже сделал — Иисус живым доставлен в город.
После такого скандала он уж точно попадёт к Пилату. Левиты будут просить у Пилата предать его смерти. Пилат фарисеев ненавидит. Значит, попадёт он к Пилату как враг его врагов. То есть друг. И у него есть, что сказать прокуратору! Иисус сделает наместнику предложение, от которого тот не сможет отказаться.
Расчёт Христа был верен. Иисус не учёл только одного момента — он не знал, да и не мог знать, что в Риме зреет заговор Сеяна против Тиберия. И Понтий Пилат — его участник.
Таланты Понтия Пилата
Пилат не просто участник заговора. Он в цейтноте! Пилату срочно нужны деньги. У него нет времени реализовывать политические схемы Иисуса. Хотя схемы безусловно интересные. Красивые схемы! И если бы он, Пилат не поставил уже жирный крест на Иудее, если бы ему вскорости не нужно было грузить легион на галеры и идти в Рим на поддержку Сеяна, он бы, конечно, сделал всё как надо — отписал в Рим, ввёл Иисуса в Синедрион, затем, используя Иисуса как подставное лицо, откупил бы часть меняльных столов… Но времени нет.
Когда Пилат услышал предложение Иисуса о введении третьей — проримской — партии в Синедрион, его симпатия к Назаретянину окрепла. Безусловно, между Пилатом и Иисусом установилась психологическая связь, которую интуитивно чувствуют практически все исследователи. Связь, которая сквозит через потёртые временем и переводами строки Евангелий…
Что случилось после разговора Христа с Пилатом, в точности неизвестно. Евангелия, например, повествуют, что Пилат зачем-то отправил Христа к Ироду. Зачем? Кто такой Ирод? Ирод — царь Идумейский. Номинально Палестина разделена на два самостоятельных царства — Иудею и Идумею. Ирод не властен в Иудее, Синедрион — в Идумее. Галилея и родина Иисуса — Назарет расположены как раз в Идумее. Ирод — человек с «европейским образованием». Он вырос и выучился в Греции. Он привык к имперскому лоску и роскоши. У него «цивилизованный» менталитет. Ирод живёт в столице Идумеи — Тиберии. Неужели туда Понтий послал арестованного? Нет, скорее всего в Иерусалим Ирод, как и Пилат, приехал только на праздник. Возможно, Понтий хотел посоветоваться с европейски воспитанным и проримски настроенным Иродом? Тем паче, что Иисус родом из Идумеи…
Есть и другое свидетельство тех событий — свидетельство древнеримского историка Иосифа Флавия. До нас дошёл древнерусский перевод с арамейского варианта книги Флавия «Иудейская война». Там ясно написано, что после встречи с Иисусом, Пилат отпустил его, затем встретился с Первосвященником, взял у него 30 талантов денег и вновь отдал приказ арестовать Христа.
Что же произошло? Да Пилат просто использовал Христа для шантажа: смотри, Каиафа, я не нашёл в нём никакой вины, и теперь он свободен, он в городе, твой противник. А завтра я могу поставить его перед толпой рядом с собой и тогда его сторонники, в том числе и в Синедрионе, скажут: «Вот он, Мессия, которого мы ждали, своей мудростью сумевший убедить даже заклятого врага иудеев!» Каиафе делается нехорошо…
Никогда в жизни Пилат не продал бы Христа, если бы ему срочно не нужны были деньги! 30 талантов — это всё, что собрали левиты за праздничные дни. 30 талантов — это 780 килограммов чистого золота. Годовая зарплата всего легиона. Можно просто показать золото солдатам, и они пойдут за Пилатом, куда угодно. Даже на Родину.
Сдав Христа, Пилат поступил так, как всегда поступал в жизни. Но в этот раз на душе у него скребли кошки. Что же мешало римскому прокуратору успокоиться после удачно проведённой операции? Тонкая ниточка симпатии, которая протянулась между ним и человеком из Назарета.
Последняя попытка
Обращался ли Пилат к народу на площади с вопросом о том, «кого вам отдать» в честь праздничка, как о том говорят все Евангелия? Возможно. И даже вероятно.
Во-первых, та самая психологическая ниточка. Всё-таки, предав Христа, — пообещав ему содействие, отпустив и затем вновь арестовав, — благородный римлянин чувствовал себя не в своей тарелке. Не зря же Пилат, ставший символом тиранства ещё при жизни, странно колеблется, отправляя на смерть Иисуса… А во-вторых, прокуратору просто из деловых соображений ужасно не хотелось терять полезного человека. Да, за 30 талантов он пообещал Каиафе предать Иисуса смерти. Обещание выполнил, приговорил. Но 30 талантов теперь лежат не в корване, а в крепости Антония — иерусалимской резиденции Пилата. Каиафа обратно их уже не заберёт. Значит, можно попытаться спасти Христа. Тем более, что в честь праздника нужно одного из осуждённых отпустить. И Каиафа ничего не возразит: толпа отпустила! Обычай! Ваш же туземный обычай, господин Первосвященник!
Казнить должны были четверых: Иисуса за богохульство, двоих террористов-зелотов (явных врагов режима) и Варавву — обычного уголовника, прошедшего по бытовой статье. Пилат обращается к толпе, РЕКЛАМИРУЯ ей Иисуса, называет его царём. Но Каиафа тоже не вчера родился, он-то свои национальные обычаи и особенности знает назубок! Толпа, обработанная Первосвященником, взревела: «Варавву! Отдай нам Варавву!» Понтий только скрипнул зубами.
…А может быть Каиафа и не обрабатывал толпу, просто иудеи не могли простить Иисусу недавнего надругательства над Храмом?..
Узнав, что их план сорвался, Иуда в отчаянии бросает полученные от Каиафы деньги через забор дома Первосвященника и кончает жизнь самоубийством, понимая, что на нём теперь будет висеть несмываемое клеймо предателя, ибо единственный человек, кто знает правду и мог бы его оправдать в глазах апостолов и потомков, идёт сейчас на Голгофу…
Живой труп
И всё-таки Пилату не по себе. Не хочет он смерти Христа! Мёртвый Христос Пилату не нужен. Мёртвый Христос нужен Каиафе. Не часто так случается, что события идут против воли прокуратора. Пилат зол. Он велит проделать злую шутку: к Иисусову кресту приколотить табличку «Царь Иудейский», прекрасно зная, что это оскорбительно для иудеев. Левиты просят убрать унижающую табличку, но Пилат краток и резок: нет!
К месту казни зелоты Гестас и Дисмас несут кресты сами. Христос свой крест не несёт. Римские солдаты, у которых, видимо, в отношении Христа особые инструкции, ловят какого-то мужика по имени Симон. Этот Симон тащит вместо Иисуса его крест. Более того, когда, уже на кресте, Христос просит пить, римский солдат протягивает ему губку, смоченную «поской» из солдатской фляги. В разных Евангелиях этот напиток описан по-разному — где-то он назван вином, где-то уксусом (интересно, кто бы и зачем принёс на место казни уксус? Только ещё перца, гвоздики и кардамона тут не хватает!) На самом деле «поска» — солдатский напиток со специально подобранным солевым составом — чтобы в походах утолять жажду, приводя в норму солевой баланс организма… Какая забота о приговорённом преступнике! Неужели Пилат что-то затеял?..
Время сыграло с Синедрионом злую шутку. Сейчас вторая половина дня. Завтра — суббота. В субботу ничего делать нельзя. Оставлять преступников на крестах тоже нельзя. Значит, кровь из носу, их надо похоронить до 24:00. Но они просто не успеют умереть до этого времени! Смерть на кресте — процесс долгий. В этом весь смысл — человек должен кончиться в мучениях от жажды. На кресте человек умирает трое суток, а если погода не жаркая, если дожди, то нужно пять-семь дней ждать. Специальная подставочка даже предусмотрена для ног распятого, на которой он стоит, либо специальный колышек под пах, на коем распятый как бы сидит — и всё для того, чтобы подольше помучился, чтобы обвиснув на руках всей тяжестью тела, не задохнулся бы раньше времени (дышать-то повиснув без опоры трудно!) Кстати, эта форма орудия древнеримской казни до сих пор в православии точно-точно прослеживается. На могильных, например, крестах: верхняя перекладинка — это как бы табличка «Царь Иудейский», средняя — собственно крестовина, а нижняя косая палочка — подставка для ног или шесток для «сидения». Потому она и косой делается, что направлена как бы на зрителя, перпендикулярно плоскости креста. На картинах направление на зрителя изображается «в перспективе», «в изометрии», то есть «косо» — прямой угол ломается.
…Короче, преступникам грозит долгая смерть «на шестке». Правда, есть способы смерть ускорить. Например, прибить руки гвоздями. «Гвоздили» ведь не для того, чтобы усилить страдания, напротив — чтобы облегчить и ускорить смерть. У пригвождённых от грязных гвоздей и жаркого солнца уже через несколько часов начинался сепсис, человек впадал в горячечный бред и быстро отходил. Христа гвоздями не прибивали.
Был и ещё один способ ускорить кончину. В истории он остался почему-то под названием «перебивание голеней». На самом деле голени не перебивали (зачем кости-то перебивать?), а просто перерезали артерии на ногах. Вся кровь из висящего человека быстро вытекала, и он умирал. Гестасу и Дисмасу артерии перерезали. Христу — нет. Интересна мотивировка: а он уже и так умер!
С чего бы это он умер? Римский солдат ткнул Христа снизу вверх острием копья. Пошла кровь. И на этом основании солдат объявил, что «пациент» мёртв. Странно. Уж кто-кто, а солдат должен знать, что у мёртвых кровь не течёт!
Итак, разбойники мертвы. Их трупы по старой доброй традиции сбрасывают в долину Еннома. А тело Иисуса отдают… мы уже знаем, кому его отдают… сторонникам иисусовым — Никодиму и Иосифу Аримофейскому. Членам Синедриона, между прочим. Тело они переносят в сад к Иосифу, оборачивают тканью, пропитанной алоэ и смирной. Это может быть процессом бальзамирования. Но это может быть и обычной перевязкой. Что такое смирна, мы сейчас не знаем. Но алоэ — известный антисептик. Перевязанное тело Христа кладут в склеп. А куда ещё положить «мёртвого»?
Каиафа понимает, что его обвели вокруг пальца. Он мчится к Пилату: как же так? Деньги взял, а преступник жив! Пилат пожимает плечами, делает круглые глаза: ничего не знаю, по моим данным преступник мёртв, я и сам удивился, что так быстро… Даже, понимаешь, не успели вены перерезать. Впрочем, дорогой Каиафа, если не верите, сами поставьте стражу у склепа. («Имеете стражу — идите и охраняйте, как знаете» — Ев. От Матфея, 27:65.)
Пилат явно издевается: какая стража! ведь суббота, правоверные сидят по домам и ничего делать не имеют права! Левиты по этому поводу с тем же Христом сколько спорили! «Нарушение субботы» — один из пунктов обвинений, предъявленных Христу… Тогда Каиафа решается: просит Пилата поставить у склепа римскую охрану. Это уже шаг отчаяния.
А Пилату только того и надо. Стража выставлена. А тело пропадает. На вопрос левитов «Где тело?» легионеры, цинично усмехаясь, говорят, что не знают: уснули-де и ничего не видели. Может, унесли. А может, сам ушёл…
Вы верите, что римский солдат уснул на посту? Вы верите, что римский легионер, уснувший на посту, так легко в этом признается? Я не верю. За сон на посту вообще-то смертная казнь положена. Но Пилат на этот раз удивительно милостив к соням.
И всё-таки, где же Христос?
Бей жидов, спасай Рим!
Скорее всего, Иисус во дворце у Ирода. Или в резиденции самого Пилата. Агенты Синедриона могли проникнуть всюду, могли перерыть весь Иерусалим с подвалов до крыш, посетить Галилею, Назарет… Только три места были им недоступны — дворец Ирода и резиденции Пилата в Иерусалиме и Кесарии…
Во дворце Ирода Иисус прожил почти год. Странный это был год в жизни Христа — в его распоряжении великолепный дворец, общение с умным, веротерпимым Иродом, возможность общаться с друзьями (Капернаум, где находятся апостолы, всего в десяти километрах). И вместе с тем — полная организационная и творческая бездеятельность.
Впрочем, прежде, чем поселиться на положении добровольного арестанта у Ирода, Христос некоторое время, похоже, пользовался свободой передвижения. Он встречался с апостолами, говорил с ними. Зная, что его ищут, он, возможно, перемещался «в неузнаваемом виде». Во всяком случае Евангелия донесли до нас свидетельства того, что даже те, кто давно знал Иисуса, сразу его не узнавали. В доказательство ему даже приходилось показывать раны от копья («Вложи, Фома, персты в раны мои»).
Дело в том, что Пилат ещё не определился, что же ему делать с Христом. Он не знает, когда ему выступать со своим легионом на поддержку Сеяна: со сроками заговора пока полная неясность. И вообще в метрополии творится что-то непонятное.
…Обычно антиеврейские настроения в Риме совпадали с обострениями финансовых кризисов. Тиберий, кстати, не очень поддавался настроениям толпы. Напротив, наиболее талантливых, молодых и зажиточных иудеев он спасал, прятал от расправ, отсылая их на службу в провинцию. Но его борьба с роскошью и экономикой проедания результатов не давала. Тогда Тиберий сменил курс, отказался от директивной экономики и начал проводить радикальные экономические реформы. Он решился на передел собственности.
Сенат издал, а Тиберий утвердил два эдикта о реструктуризации долгов. Первый эдикт гласил, что все должники должны немедленно вернуть заимодавцам (иудейским ростовщикам, игравшим роль банков) две трети всех долгов. Второй эдикт велел немедленно обратить две трети имущества всех ростовщиков в недвижимость. Это был не просто взаимозачёт, не просто конфискация имущества знати за долги. Это была самая настоящая продуманная реформа. Тиберий убивал сразу двух зайцев — самые задолжавшие римляне больше не смогут роскошествовать, «проедая империю», а отправятся в провинцию заниматься своими латифундиями. А иудеи, лишившись свободных средств, уже не смогут заниматься ростовщичеством, а будут вынуждены тратить средства на обслуживание своей вновь приобретённой собственности: не в характере иудеев запускать земли и проматывать состояния.
Вместе с этой, из Рима приходит ещё одна нехорошая новость: заговор Сеяна раскрыт. И как глупо всё получилось! Внучатый племянник Тиберия Гай Калигула — молодой, честолюбивый и умный назначен Верховным Понтификом, то есть главным жрецом — человеком, который может манипулировать предсказаниями авгуров, гаруспиков и их заклинаниями посылать в бой легионы. Гай — противник Сеяна. До выяснения отношений с Калигулой Сеян мятеж откладывает. А отложенный мятеж — неудавшийся мятеж. В таких делах мямлить нельзя…
В общем, пока Сеян раздумывал, контрразведка не дремала. Сеяна взяли, взяли и его подельников. Всех, кроме хитрого Пилата. Пилат отделался выговором: его участие в заговоре доказать не удалось. Пилата наказали только за недонесение о каких-то там письмах Сеяна… На том всё и заглохло.
Крах заговора всё поменял в жизни Пилата. Получилось, что он никуда со своими легионами не едет. Вот теперь-то этот парень из Назарета, которого Пилат спас на всякий случай, ему и пригодится. Ах, как чуяло сердце-вещун, что заговор Сеяна провалится! И как здорово, как предусмотрительно, что он напрямую в письмах ничего такого не написал Сеяну! Обходился лишь намёками да экивоками да устными заверениями через гонцов! А то бы сейчас размотали ему кишки в пыточных подвалах Рима… Ладно, займёмся домашними делами. Пока в столицах разбираются, можно потрясти иудеев. То-то они примолкли.
Не только Пасха празднуется в Иудее. Есть праздник Пятидесятницы. Есть праздник Опресноков. И каждый раз на бирже возле Храма ажиотаж. Пилат может немного пошантажировать левитов Иисусом, который теперь действительно страшен для фарисеев, ведь он Воскресший! Воскресший Живой Бог — да он может просто повыгонять всех этих старпёров из кормушки! Воскресший Живой Бог — на службе Пилата! Да теперь он вообще сможет взять под свой контроль всю валютную биржу!
«МММ» начала эры
Чтобы взять под контроль финансовые потоки Храма, Пилату нужна христианская партия. И в 31 году к празднику Пятидесятницы апостолы во главе с Петром прибывают в Иерусалим, что называется, с первым дилижансом.
Пётр и Иоанн выходят на площадь Храма и делают ряд программных заявлений. Пётр — «заместитель» Христа, Иоанн — юное дарование, будущий создатель бестселлера «Апокалипсис». Фарисеи тут же вызывают апостолов в Синедрион. Все их вопросы — только об Иисусе. Апостолы отвечают уклончиво. Затем они снова выходят на площадь и продолжают выступление. К чему же они призывают? Они призывают строить пирамиду! Они призывают сограждан продавать дома, земли, мастерские — и вкладывать деньги «в апостолов». Что происходит?
Ничего особенного — Пилату нужен оборотный капитал для финансовых спекуляций на меняльных столах. Понимая, что Пилат вскоре отнимет у Синедриона валютно-спекулятивный бизнес и пользуясь эдиктами Тиберия, левиты начинают лихорадочно вкладывать деньги в недвижимость — покупают у граждан мастерские, дома, виноградники. Апостолам это на руку: вырученные деньги горожане несут под большие проценты апостолам.
Причём, разборки идут уже на чисто мафиозном уровне. Некая супружеская чета — Ананий и Сапфира — продали свою землю и принесли деньги в свою новую христианскую «семью». Но часть денег от Петра супруги всё же утаили. Узнав об этом апостол Пётр убивает супружескую чету прямо у Храма! Мотивировка: утаили деньги от Семьи.
Даже для потрясаемого переменами Иерусалима это — вопиющее преступление. Ай да иисусовцы! Начали с погромов в Храме, и закончили убийствами! Убийство совершено Петром прилюдно, видимо, в назидание остальным членам общины — чтоб больше деньги не утаивали. Возмущение горожан столь велико, что Иоанна и Петра арестовывают тут же и бросают за решётку: «И наложили руки свои на апостолов и заключили их в народную темницу». Народная темница — это общеуголовная тюрьма.
Но сидят апостолы недолго. Как скромно рассказывает об этом Писание, ночью пришёл ангел и освободил апостолов. Видимо, ангел носил римские «погоны». Кстати, слово «ангел» в переводе означает «вестник», «посыльный», «вестовой». В общем, пришёл вестовой и освободил убийц. Да ещё отматерил местных как следует: какое вы имели право хватать римского гражданина Петра, совсем страх потеряли?!. И вообще, не вашего ума это дело, это — дело государственной важности.
Между прочим, фарисеи пытались выяснить, «какой властью» всё это творится. «Деяния» рассказывают нам об этих нервных переговорах. Нам ясно одно — апостолы проводят в жизнь новую экономическую политику Пилата, а Пилат обеспечивает их безопасность.
Далее всё идёт по плану — Пётр, как об этом откровенно сказано в Писании, назначает нескольких честных провинциалов из своей партии, «пещись о столах». То есть отвечать за меняльные столы. Этих столов пока семь. Некоторые богословы полагают, будто речь идёт о неких столах, где раздавался бесплатный суп малоимущим. Полнейшая глупость! За похлёбку людей не убивают. Да и зачем было самому Петру лично возиться с какими-то «благотворительными учреждениями», если с полученных капиталов он мог просто назначить малоимущим пенсии? Нет, речь идёт явно о тех самых столах, с которых вся эта история и начиналась…
План Иисуса начал воплощаться в жизнь. Петру удалось «оторвать» пока что семь мест на бирже и набрать первичный капитал за обещание больших процентов.
А что же Христос?
ЭПИЛОГ
По приказу Пилата Иисус наверняка отправился из Галилеи в Иерусалим вместе с апостолами. Но вопрос, зачем он туда идёт, не переставал беспокоить Иисуса. За время вынужденного безделья в иродовом дворце Иисус не мог не видеть, что реальным руководителем его партии (общины, церкви) стал Пётр. А уж Пётр-то знал, зачем он отправляется в Иерусалим — для того, о чём было сказано выше.
Но всё это не соответствовало целям Иисуса. Целью Иисуса была социальная, правовая, экономическая реформа, реформа отношений между Иудеей и Римом. А вовсе не передел собственности между фарисеями и Пилатом. Не продолжение тех же спекуляций новыми руками в новый карман.
Естественно, Иисус спорил с Петром. Отголоски этого спора сохранили Евангелия. Даже по тем скудным словам, которые до нас дошли, видно, что спор этот нервный и эмоциональный. Речь идёт о старой дружбе и идеалах: «Любишь ли ты меня?» О преемственности: «Паси моих овец…» Общий смысл их разговора на повышенных тонах: «Что тебе дороже, Пётр, — наши мечты, наши идеи или соблазн денег и власти?» Тем паче, что бывший наёмник соблазну денег и власти очень и очень подвержен. Не зря же он порывается немедленно отослать юношу Иоанна прочь от разговора «первых лиц». Это продолжение их старого спора. Помните? «Отойди от меня, сатана, ты мне соблазн, потому что думаешь не о том, что Божие, а о том, что человеческое.»
Мы не знаем, чем кончился тот разговор. Мы знаем лишь, что Иисус в Иерусалим не вернулся. Мы знаем, что Пётр был человек невоздержанный и честолюбивый.
Пилату пришлось иметь дело с Петром… Возможно, прокуратор был даже рад этому обстоятельству: Пётр был более предсказуем. А Воскресший Иисус был опасен не только для фарисеев, но и отчасти для Пилата. Мало ли что выкинет…
Неизвестно, Пётр ли убил Христа, Пилат ли… А может быть разочарованный в людях Иисус, забрав мать, уехал в Индию, где, в Гималаях, туристам до сих пор показывают могилу Девы Марии, утверждая, что в ней покоится мать Иисуса? Скорее, справедлив первый вывод — Христа втайне убрали. Это больше соответствует духу и нравам того времени…
Царь Ирод не дожил до иудейской войны — скончался от кожной болезни через несколько лет после описанных событий.
Император-реформатор Тиберий также умер своей смертью. Пришедший ему на смену Гай Калигула отправил Пилата в отставку. Пилат вернулся в Европу, купил в Галлии (кантон Веве нынешней Швейцарии) большое поместье, где и прожил остаток дней.
Каиафа был Первосвященником ещё 4 года, потом оставил пост, и дальше след его теряется.
А Иисус… Иисус был умён, смел и свободен, пока не заключил договор с Дьяволом, именуемым Властью. Купив у Пилата жизнь ценой обещаний политического сотрудничества, он превратился в марионетку Пилата. Уже на кресте, опекаемый легионерами, он перестал быть свободным. Дальше жил уже не Христос. Спаситель умер на кресте. А тело его жило ещё примерно год и, скорее всего, было выброшено в пустыню на съедение шакалам.
А история покатилась дальше…
как пользоваться, установка и настройки. Сервер VNC или удаленный рабочий стол на Ubuntu
Это руководство о том, как настроить noVNC для удалённого доступа к компьютерам на Windows.
Почему noVNC?
— У Windows есть «родное» средство для удалённого доступа — Remote Desktop Connection. Но оно есть не во всех версиях Windows — например нет в Home edition.— Также существует множество VNC серверов и клиентов для любой версии Windows. Но для их использования нужно ставить VNC клиент. А бывают случаи, когда ставить ничего нельзя (ограничение прав), или нежелательно, чтобы не оставлять следов на чужом компьютере.
— Ещё есть Chrome Remote Desktop, которому на стороне клиента нужно только расширение в браузере. Но у меня был случай, когда протокол Хрома был заблокирован организацией (там почто всё было заблокировано), а noVNC использует обычный HTTP и поэтому работал.
Насколько я знаю, noVNC — единственное средство, которое позволяет подключиться к удалённому компьютеру без установки какого-либо клиента — используется лишь браузер.
Ещё есть SPICE , но для него я не нашёл сервера под Windows.
В результате этого руководства, мы сможем просто открыть линк в браузере, ввести пароль и пользоваться удалённой системой.
Необходимым условием является проброс портов, или белый IP удалённого компьютера. Также можно воспользоваться VNC repeater. Но это уже выходит за рамки этой статьи.
Общая схема
Сначала мы поставим обычный VNC сервер на порт 5900.Затем поставим noVNC и WebSockify на порт 5901.
Цель, чтобы получилось приблизительно вот так:
Теперь запускаем command prompt с администраторскими правами:
Запускаем 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:
Попробуйте также открыть 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:
Известные недоработки
Раскладка клавиатуры
Я обнаружил, что русская раскладка клавиатуры работает довольно необычным образом:Если у клиента выбран русский язык, то на удалённый компьютер нажатия клавиш не передаются вообще.remote desktop Добавить метки |
VNC (Virtual Network Computing) – это система удалённого доступа, которая позволяет использовать клавиатуру и мышь для взаимодействия с графическим интерфейсом рабочего стола удалённого сервера. С её помощью можно управлять файлами, программным обеспечением и настройками удалённого сервера, не обращаясь к командной строке.
Данное руководство поможет установить VNC на виртуальный выделенный сервер Ubuntu 16.04 и настроить безопасное подключение при помощи SSH-туннеля. Сервер VNC будет использовать TightVNC, быстрый и легковесный пакет удалённого управления, поддерживающий работу даже при медленном интернете.
Требования
- Настроенный сервер Ubuntu 16.04 (для этого обратитесь к ).
- Не-root пользователь с доступом к sudo.
- Локальный компьютер с предустановленным клиентом VNC, который поддерживает VNC-соединения через SSH-туннель. Пользователи Windows могут установить TightVNC, RealVNC или UltraVNC. Пользователи Mac OS X могут обратиться к встроенному пакету Screen Sharing или использовать кроссплатформенные приложения (например, RealVNC). Пользователи Linux могут выбрать vinagre, krdc, RealVNC, TightVNC и т.п.
1: Установка среды рабочего стола и сервера VNC
По умолчанию серверы Ubuntu 16.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. В данном руководстве используются пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.
Чтобы установить на сервер указанные пакеты, введите:
sudo apt install xfce4 xfce4-goodies tightvncserver
Чтобы завершить начальную настройку сервера VNC после его установки и выбрать надёжный пароль, используйте команду vncserver.
Команда предложит выбрать и подтвердить пароль, а также пароль для просмотра (опционально). Пользователи, получающие доступ к VNC при помощи пароля для просмотра, не смогут управлять VNC при помощи мыши или клавиатуры. Такой пароль позволяет вам демонстрировать VNC другим пользователям в случае необходимости.
Команда vncserver завершит начальную настройку VNC и создаст конфигурационные файлы.
2: Настройка сервера VNC
Сначала нужно определить команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге.vnc, который хранится в домашнем каталоге текущего пользователя. Сценарий запуска был создан командой vncserver, но его нужно откорректировать для взаимодействия с Xfce.
При первом запуске VNC использует порт 5901. VNC называет этот порт:1. VNC может запускать другие экземпляры на другие порты, которые будут называться:2, :3, и т.д.
Чтобы изменить настройки сервера VNC, нужно остановить экземпляр, использующий порт 5901.
vncserver -kill:1
Команда вернёт такое сообщение (PID будет отличаться):
Killing Xtightvnc process ID 17648
Создайте резервную копию файла xstartup:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Затем создайте новый файл xstartup:
nano ~/.vnc/xstartup
Вставьте в него следующие команды, которые будут выполняться автоматически при запуске сервера VNC. Сохраните и закройте файл.
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
При помощи первой команды, xrdb $HOME/.Xresources, GUI сервера VNC читает файл.Xresources. В файле.Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (настраивать цвета терминала, темы курсора, шрифты). Вторая команда просто запускает Xfce, в котором хранится все графическое программное обеспечение, необходимое для управления сервером.
Теперь нужно передать права на файл:
sudo chmod +x ~/.vnc/xstartup
Перезапустите VNC:
Во время запуска сервер вернёт:
New «X» desktop is your_server_name.com:1
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/liniverse.com:1.log
3: Тестирование рабочего стола VNC
Теперь нужно убедиться в том, что сервер VNC настроен правильно.
Создайте SSH-подключение на локальном компьютере, перенаправляемое на localhost сервера VNC. Для этого можно использовать терминал Linux или OS X.
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Примечание : Вместо user и server_ip_address укажите имя пользователя с доступом к sudo и свой IP-адрес.
Если вы используете графический клиент SSH (например, PuTTY), используйте server_ip_address в качестве IP-адреса соединения, а затем укажите localhost:5901 в настройках туннеля SSH.
Теперь можно использовать клиент VNC для подключения к серверу. Для этого нужно пройти аутентификацию. Введите пароль, установленный в разделе 1.
После этого на экране появится стандартный рабочий стол Xfce.
Вы можете получить доступ к файлам домашнего каталога при помощи файлового менеджера или командной строки.
4: Создание файла сервиса VNC
Теперь нужно настроить сервер VNC как сервис system.
Создайте новый файл /etc/systemd/system/[email protected]:
sudo nano /etc/systemd/system/[email protected]
Скопируйте и вставьте в него следующий код:
/etc/systemd/system/[email protected]
Description=Start TightVNC server at startup
After=syslog.target network.target
Type=forking
User=8host
PAMName=login
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800:%i
ExecStop=/usr/bin/vncserver -kill:%i
WantedBy=multi-user.target
Примечание : Укажите имя своего пользователя вместо 8host.
Сохраните и закройте файл.
Перезапустите демон:
sudo systemctl daemon-reload
Включите новый файл:
sudo systemctl enable [email protected]
Остановите текущий экземпляр сервера VNC, если он ещё запущен:
vncserver -kill:1
Теперь попробуйте запустить его как любой другой сервис systemd:
sudo systemctl start [email protected]
Чтобы убедиться, что сервер запущен, проверьте его состояние:
sudo systemctl status [email protected]
Если сервер запущен, команда вернёт:
[email protected] — TightVNC server on Ubuntu 16.04
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago
Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS)
…
systemd: Starting TightVNC server on Ubuntu 16.04…
systemd: pam_unix(login:session): session opened for user finid by (uid=0)
systemd: Started TightVNC server on Ubuntu 16.04.
Заключение
Теперь на сервере Ubuntu 16.04 установлен защищённый сервер VNC. Его помощью можно управлять файлами, программами и настройками удалённого сервера.
Tags: ,Удалённо управлять компьютером – звучит интригующе, но только для тех, кто раньше с этим не сталкивался. На самом деле этот сервис появился уже давно и широко используется профессионалами. Многие разработчики различных программ изначально внедряют такую возможность в свои продукты, чтобы была возможность быстро помочь клиентам справиться с неполадками или настройками программного обеспечения. При наличии высокоскоростного интернета это происходит очень просто и быстро. Однако иногда возникает потребность помочь знакомым, друзьям или родственникам, особенно если это люди старшего поколения, впервые взявшие мышку в руку. Так же время от времени нужно срочно попасть на свой домашний компьютер, например, когда забыл скачать на флешку важную презентацию, или, находясь в другом городе, хочется показать подруге свои фотографии из последней поездки на Урал.
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 28 161 times, 7 visits today)
Представляем вашему вниманию новый курс от команды The Codeby — «Тестирование Веб-Приложений на проникновение с нуля». Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.
Virtual Network Computing (VNC) позволяет создавать совместный доступ другим удалённым пользователям к окружению рабочего стола локального хоста по сети. Для предоставления доступа к рабочему столу, на локальном хосте должен быть запущен VNC сервер, а удалённые пользователи подключаются к серверу VNC, используя какой-либо клиент просмотрщика VNC.
В этой инструкции я объясню как настроить VNC сервер на Linux . Для этого я буду использовать vino , программное обеспечение VNC сервера для окружения рабочего стола GNOME.
Для установки VNC сервера vino на машину с Debian, Ubuntu или Linux Mint:
$ sudo apt-get install vino
Для установки VNC сервера vino на машину с Fedora, CentOS или RHEL:
$ sudo yum install vino
После установки, вы можете запустить vino и включить сервер VNC введя команду vino-preferences.
$ vino-preferences
Вышеприведённая команда откроет окно настроек vino для доступа к рабочему столу как показано ниже. В окне там где «Совместный доступ» поставьте галочку, чтобы позволять другим пользователям видеть ваш рабочий стол. Также можете установить VNC пароль. Когда настройка сделана, это окно можно закрыть.
По идее, утилита vino-preferences сама должна запустить сервер VNC. Если VNC сервер не запущен по каким-то причинам, вы можете запустить VNC сервер вручную следующим образом.
$ /usr/lib/vino/vino-server &
На последних Linux Mint с рабочим столом Cinnamon, как известно, vino-preferences отсутствуют. Для включения настройки VNC сервера в Mint на рабочем столе Cinnamon, используйте вместо этого dconf-editor, как это описано здесь.
Вы можете проверить, запущен ли vino набрав следующую команду.
$ sudo netstat -pl | grep vino tcp 0 0 *:5900 *:* LISTEN 3246/vino-server tcp6 0 0 [::]:5800 [::]:* LISTEN 3246/vino-server tcp6 0 0 [::]:5900 [::]:* LISTEN 3246/vino-server
Как видно выше, vino-server запущен на TCP порте с номерами 5800 и 5900. Вы можете использовать любое программное обеспечение с функцией VNC клиента для подключения к VNC серверу.
Если VNC сервер настроен так, что вы должны подтверждать каждый VNC доступ к вашему рабочему столу, то вы увидите следующее всплывающее сообщение каждый раз, когда получен запрос VNC соединения. Только после того, как вы разрешите VNC, клиент VNC будет способен получить доступ на ваш рабочий стол.
В статье рассказано о настройке возможности подключения к Ubuntu по удаленному рабочему столу (аналогично RDP в Windows). Примеры команд выполнены на Linux Ubuntu 18.04.
Установка и настройка VNC сервера
Рассмотрим два варианта использования графической оболочки — xfce и gnome.
Если используется брандмауэр, добавляем правило:
iptables -A INPUT -p tcp —dport 5901 -j ACCEPT
* в данном примере, мы разрешаем входящие соединения на порту 5901 . Для работы с несколькими портами, добавляем их по аналогии.
XFCE
Установка
apt install xfce4 xfce4-goodies tightvncserver
y n ).
Настройка
vncserver -kill:1
* экземпляр :1
Настраиваем VNC сервер:
vi ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4
Снова запускаем vncserver:
Gnome
Установка
Установку выполняем следующей командой:
apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server
Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:
На запрос пароля вводим его дважды. После будет предложено ввод пароля для гостевого доступа — можно согласиться (y ) и ввести пароль или отказаться (n ).
Настройка
Для начала, останавливаем экземпляр VNC сервера:
vncserver -kill:1
* экземпляр :1 , по умолчанию, слушает на порту 5900+1 (5901).
Настраиваем VNC сервер для текущего пользователя:
vi ~/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80×24+10+10 -ls -title «$VNCDESKTOP Desktop» &
x-window-manager &
Gnome-panel &
gnome-settings-daemon &
metacity &
Снова запускаем vncserver:
Подключаемся к удаленному рабочему столу
Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC . Вводим IP-адрес компьютера с VNC и номер порта:
Будет запрошен пароль — вводим тот, что устанавливали при настройке.
Автозапуск сервиса
Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd:
vi /etc/systemd/system/vncserver.service
Description=VNC server
After=syslog.target network.target
Type=forking
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill:1
WantedBy=multi-user.target
Обновляем systemd:
systemctl daemon-reload
Разрешаем автозапуск сервиса.
Руководство пользователя VNC® Enterprise 4.6
Настройка сетевых коммуникаций
VNC Server слушает сетевые коммуникации, то есть для запросов на подключение и для VNC Viewer для запросов на загрузку Java — на один или несколько портов.
По умолчанию при запуске VNC Server назначаются два отдельных порта: один для подключения и один. для запросов на скачивание. Если есть, то:
• В Windows и Mac OS X сервер VNC находится как в сервисном, так и в пользовательском режимах. назначается порт 5900 для запросов на подключение и порт 5800 для загрузки Запросы.
• В UNIX или Linux, VNC Сервер в:
— Пользовательскому режиму назначается порт 5900 для подключения запросы и порт 5800 для запросов на загрузку.
— Первый экземпляр VNC Серверу в виртуальном режиме назначается порт 5901 для запросов на подключение. и порт 5801 для запросов на загрузку. Последующим экземплярам VNC Server в виртуальном режиме назначается порт. числа, увеличенные на единицу, где это возможно, например 5902, 5903 (и 5802, 5803) и т. Д. До максимально разрешенного числа рабочих столов. лицензией главного компьютера.
Примечание: Для получения дополнительной информации о запуске нескольких экземпляров VNC Server, и различные режимы, см. Запуск нескольких экземпляров сервера VNC.
Если более одного экземпляра VNC Сервер работает на главном компьютере, все они должны слушать разные порты; см. ниже информацию об устранении конфликтов портов. Обратите внимание, однако, что конкретный экземпляр VNC Сервер может прослушивать один и тот же порт для запросов на подключение и загрузку; см. Установка подключения и загрузка порт то же самое для получения дополнительной информации.
Примечание: при подключении к VNC Server, пользователь должен квалифицировать хост сетевой адрес компьютера с номером порта во всех случаях, кроме VNC Server прослушивает запросы на соединение только через порт 5900. Для дополнительной информации, см. Квалификация сети адрес с номером порта.
Разрешение конфликтов портов
VNC Server должен слушать для подключения и для VNC Viewer for Java загрузка запросов на уникальный порт. Это тот, на котором нет другого экземпляра сервера VNC, запущенного на главном компьютере, или любой другой сервис или программа слушает.
Конфликты портов отключают сервер VNC. Вы должны иметь возможность разрешить их, изменив порты, на которых VNC Server прослушивает. Для этого измените параметры на вкладке «Подключения» диалогового окна «Параметры». Для получения дополнительной информации об этом диалоговом окне, см. Использование параметров диалог.
(Windows XP)
Изменение порта подключения
Вы можете изменить порт, на котором VNC Сервер ожидает запросов на подключение. Если вы сделаете это:
• Пользователи должны знать новый номер порта. (если не 5900) для подключения.Дополнительные сведения см. В разделе «Квалификация сети». адрес с номером порта.
• Если главный компьютер защищен брандмауэр, то брандмауэр должен быть настроен для разрешения входящей сети коммуникации с новым портом. Для получения дополнительной информации см. Разрешение сети. связь через брандмауэр.
• Если главный компьютер защищен маршрутизатор, и пользователи будут подключаться через Интернет, тогда маршрутизатор должен быть настроенным для пересылки сообщений на новый порт. Для дополнительной информации, см. Настройка роутера для пересылки сетевых сообщений.
Чтобы изменить порт, введите другой номер в поле «Принимать подключения к порту». Обратите внимание, что изменение эта опция не влияет на подключенных в данный момент пользователей.
Изменение порта загрузки
Вы можете изменить порт, на котором VNC Сервер ожидает VNC Viewer для Запросы на загрузку Java. Если вы сделаете это:
• Пользователи веб-браузеров должны знать новые номер порта для загрузки. Дополнительные сведения см. В разделе «Квалификация сети». адрес с номером порта.
• Если главный компьютер защищен брандмауэр, то брандмауэр должен быть настроен для разрешения входящей сети коммуникации с новым портом. Для получения дополнительной информации см. Разрешение сети. связь через брандмауэр.
• Если главный компьютер защищен пользователи маршрутизатора и веб-браузера будут подключаться к Интернету, затем маршрутизатор должен быть настроен для пересылки сообщений на новый порт. Для получения дополнительной информации см. Настройка маршрутизатора. для пересылки сетевых сообщений.
Чтобы изменить порт, введите другой номер в поле «Обслуживать Java-просмотрщик через порт». Обратите внимание, что изменение эти параметры не влияют на подключенных в данный момент пользователей.
Делаем соединение и порт загрузки одинаковыми
VNC Server может прослушивать один и тот же порт для запросов на подключение и загрузку. Это может упростить настройки брандмауэра и сделать главный компьютер более безопасным.
Чтобы использовать один и тот же порт, введите один и тот же номер в поля «Принимать соединения на порту» и «Обслуживать». Программа просмотра Java на полях портов.Обратите внимание, что настройка этих параметров не влияет на подключенных в данный момент пользователей.
портов VNC для открытия — как мы включаем это
Вы ищете, какие все порты открывать для доступа к VNC? Здесь мы должны вам помочь.
Порты по умолчанию, которые использует VNC, — это TCP 5900 и TCP 5800 для веб-интерфейса.
В Bobcares мы часто получаем запросы на разрешение портов VNC как часть наших служб управления сервером.
Сегодня мы увидим, как наши инженеры службы поддержки открывают порты для VNC.
Что такое VNC?
VNC, также известное как Virtual Network Computing, позволяет управлять удаленной системой. По сути, это графическая система совместного использования рабочего стола. Мы можем получить к нему доступ через такие платформы, как Linux, Windows, macOS.
Но чтобы использовать VNC, важно иметь представление об используемых портах. Итак, давайте посмотрим на это.
Как мы открываем порты VNC?
Чтобы получить доступ к удаленной системе через Интернет, нам необходимо подключиться к ней.И VNC использует для этого порты по умолчанию.
По умолчанию VNC использует 5900 портов. Но для веб-интерфейса он использует 5800. Кроме того, мы также можем использовать несколько портов, начиная с 5900 + N.
Теперь давайте посмотрим, как открыть эти порты на различных платформах.
Открытие портов VNC в Linux
Обычно наши инженеры службы поддержки делают это, перенаправляя порт в маршрутизаторе или добавляя правила брандмауэра.
Перенаправление портов в маршрутизаторе
Итак, чтобы получить доступ к VNC через Интернет, мы открываем порты в маршрутизаторе.Вот шаги, которые мы выполняем:
1. Сначала мы получаем доступ к веб-интерфейсу маршрутизатора.
2. Затем выберите раздел переадресация портов.
3. Здесь мы создаем новое правило для переадресации портов. Для этого мы указываем порты источника и назначения как TCP 5900. Затем указываем адрес назначения как IP-адрес локальной машины.
4. Позже мы проверяем, слушают ли порты.
Добавление правил брандмауэра
Точно так же в системе Linux нам нужно добавить правила брандмауэра для открытия портов.Таким образом, мы гарантируем, что порт открыт всякий раз, когда пользователь пытается получить к нему доступ. Поэтому мы добавляем правила для открытого доступа к таким портам, как 5900, 5800 и т. Д.
Открытие портов VNC в Windows
Обычно мы открываем порты в Windows через брандмауэр Windows в режиме повышенной безопасности. Наши инженеры службы поддержки делают это следующим образом:
1. Сначала мы открываем редактор управления групповой политикой .
2. Здесь мы выбираем опцию Брандмауэр Windows с повышенной безопасностью .И эта опция отображается как,
3. Затем выберите опцию Inbound Rules из брандмауэра Windows с повышенной безопасностью
4. Теперь откроется мастер New Inbound Rule Wizard .
5. Затем выберите следующие параметры для продвижения вперед.
- Тип правила: Порт
- Протокол и порты: TCP и укажите Конкретные локальные порты как 5900.
- Действие: Разрешить соединение
- Профиль: Домен / Частный / Общедоступный
- Имя: При необходимости укажите имя и описание.
6. Наконец, нажмите Finish , чтобы выйти и сохранить правило.
[Нужна помощь в доступе к VNC? — Мы можем вам помочь.]
Заключение
Короче говоря, порты VNC, которые нужно открыть, — это порты по умолчанию 5900 и 5800. Кроме того, для доступа к VNC через веб-интерфейс мы можем использовать порт 5800. Сегодня мы видел, как наши инженеры службы поддержки делают это в Linux и Windows.
ПРЕДОТВРАТИТЕ СЕРВЕР ОТ ВЫБОРА!
Никогда больше не теряйте клиентов из-за низкой скорости сервера! Позвольте нам помочь вам.
Наши специалисты по серверам будут контролировать и обслуживать ваш сервер 24/7, чтобы он оставался молниеносным и безопасным.
НАЧАТЬ
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;15.3.2. Подключение к серверу VNC Red Hat Enterprise Linux 6
15.3.2.1. Настройка межсетевого экрана для VNC
При использовании незашифрованного соединения брандмауэр может заблокировать ваше соединение. Протокол VNC — это удаленный буфер кадра (RFB), который транспортируется в пакетах TCP
.При необходимости откройте порт для протокола TCP
, как описано ниже. При использовании параметра -via
трафик перенаправляется через SSH
, который включен по умолчанию.Процедура 15.9. Настройка межсетевого экрана с помощью редактора
При подготовке файла конфигурации для нескольких установок с использованием инструментов администрирования полезно редактировать файл конфигурации брандмауэра напрямую. Обратите внимание, что любые ошибки в файле конфигурации могут иметь неожиданные последствия, вызвать ошибку и помешать применению настроек брандмауэра.Поэтому после редактирования внимательно проверьте файл / etc / sysconfig / system-config-firewall
.
- Чтобы проверить, что разрешено в настройках брандмауэра, введите следующую команду от имени
root
, чтобы просмотреть файл конфигурации брандмауэра:~] #
В этом примере, взятом из установки по умолчанию, брандмауэр включен, но порты VNC не настроены для прохождения.меньше / etc / sysconfig / system-config-firewall
# Файл конфигурации для system-config-firewall --включено --service = ssh - Откройте
/ etc / sysconfig / system-config-firewall
для редактирования какroot
и добавьте строки в следующем формате в файл конфигурации брандмауэра:--port = номер_порта : tcp
Например, чтобы добавить порт5902
:~] #
vi / etc / sysconfig / system-config-firewall
# Файл конфигурации для system-config-firewall --включено --service = ssh --port = 5902: TCP - Обратите внимание, что эти изменения не вступят в силу даже после перезагрузки брандмауэра или системы.Чтобы применить настройки в
/ etc / sysconfig / system-config-firewall
, введите следующую команду какroot
:~] #
lokkit --update
Как установить и настроить VNC в Ubuntu 20.04
Введение
Virtual Network Computing или VNC — это система подключения, которая позволяет использовать клавиатуру и мышь для взаимодействия с графической средой рабочего стола на удаленном сервере. Это упрощает управление файлами, программным обеспечением и настройками на удаленном сервере для пользователей, которые еще не знакомы с командной строкой.
В этом руководстве вы настроите сервер VNC с TightVNC на сервере Ubuntu 20.04 и безопасно подключитесь к нему через туннель SSH. Затем вы воспользуетесь клиентской программой VNC на своем локальном компьютере для взаимодействия с вашим сервером через графическую среду рабочего стола.
Предварительные требования
Для выполнения этого руководства вам понадобится:
- Один сервер Ubuntu 20.04 с администратором без полномочий root и брандмауэром, настроенным с помощью UFW. Чтобы настроить это, следуйте нашему руководству по начальной настройке сервера для Ubuntu 20.04.
- Локальный компьютер с установленным клиентом VNC. Используемый клиент VNC должен поддерживать соединения через туннели SSH:
- В Windows вы можете использовать TightVNC, RealVNC или UltraVNC.
- В macOS вы можете использовать встроенную программу общего доступа к экрану или кроссплатформенное приложение, такое как RealVNC.
- В Linux вы можете выбрать один из множества вариантов, включая
vinagre
,krdc
, RealVNC или TightVNC.
Шаг 1. Установка среды рабочего стола и VNC Server
По умолчанию Ubuntu 20.04 не поставляется с графической средой рабочего стола или установленным сервером VNC, поэтому вы начнете с их установки.
У вас есть много вариантов, когда вы выбираете сервер VNC и среду рабочего стола. В этом руководстве вы установите пакеты для последней версии среды рабочего стола Xfce и пакета TightVNC, доступного в официальном репозитории Ubuntu. И Xfce, и TightVNC известны своей легкостью и быстродействием, что гарантирует бесперебойное и стабильное соединение VNC даже при более медленных интернет-соединениях.
После подключения к серверу с помощью SSH обновите список пакетов:
Теперь установите Xfce вместе с пакетом xfce4-goodies
, который содержит несколько улучшений для среды рабочего стола:
- sudo apt install xfce4 xfce4-goodies
Во время установки вам может быть предложено выбрать диспетчер отображения по умолчанию для Xfce. Диспетчер дисплея — это программа, которая позволяет вам выбирать среду рабочего стола и входить в нее через графический интерфейс.Вы будете использовать Xfce только при подключении к VNC-клиенту, и в этих сеансах Xfce вы уже войдете в систему как пользователь Ubuntu без полномочий root. Поэтому для целей этого руководства ваш выбор диспетчера отображения неуместен. Выберите любой из них и нажмите ENTER
.
После завершения установки установите сервер TightVNC:
- sudo apt install tightvncserver
Затем запустите команду vncserver
, чтобы установить пароль доступа VNC, создать файлы начальной конфигурации и запустить экземпляр сервера VNC:
Вам будет предложено ввести и подтвердить пароль для удаленного доступа к вашему устройству:
Выход
Вам потребуется пароль для доступа к вашим рабочим столам.Пароль:
Проверять:
Пароль должен содержать от шести до восьми символов. Пароли, содержащие более 8 символов, будут автоматически обрезаны.
После подтверждения пароля у вас будет возможность создать пароль только для просмотра. Пользователи, которые входят в систему с паролем только для просмотра, не смогут управлять экземпляром VNC с помощью мыши или клавиатуры. Это полезный вариант, если вы хотите продемонстрировать что-то другим людям, использующим ваш VNC-сервер, но это не обязательно.
Затем процесс создает необходимые файлы конфигурации по умолчанию и информацию о соединении для сервера. Кроме того, он запускает экземпляр сервера по умолчанию на порту 5901
. Этот порт называется портом отображения и обозначается VNC как : 1
. VNC может запускать несколько экземпляров на других портах дисплея, при этом : 2
относится к порту 5902
, : 3
относится к 5903
и так далее:
Вывод
Хотите ввести пароль только для просмотра (да / нет)? п
xauth: файл / home / sammy /.Xauthority не существует
Новый рабочий стол 'X' - your_hostname: 1
Создание сценария запуска по умолчанию /home/sammy/.vnc/xstartup
Запуск приложений, указанных в /home/sammy/.vnc/xstartup
Файл журнала: /home/sammy/.vnc/your_hostname:1.log
Обратите внимание, что если вы когда-нибудь захотите изменить свой пароль или добавить пароль только для просмотра, вы можете сделать это с помощью команды vncpasswd
:
На этом этапе сервер VNC установлен и работает. Теперь давайте настроим его для запуска Xfce и предоставления нам доступа к серверу через графический интерфейс.
Шаг 2 — Настройка VNC-сервера
Сервер VNC должен знать, какие команды выполнять при запуске. В частности, VNC необходимо знать, к какой графической среде рабочего стола он должен подключаться.
Команды, которые сервер VNC запускает при запуске, находятся в файле конфигурации с именем xstartup
в папке .vnc
в вашем домашнем каталоге. Сценарий запуска был создан, когда вы выполнили команду vncserver
на предыдущем шаге, но вы создадите свой собственный для запуска рабочего стола Xfce.
Поскольку вы собираетесь изменить настройку сервера VNC, сначала остановите экземпляр сервера VNC, работающий на порту 5901
, с помощью следующей команды:
Результат будет выглядеть так, хотя вы увидите другой PID:
Выход
Удаление идентификатора процесса Xtightvnc 17648
Перед изменением файла xstartup
создайте резервную копию оригинала:
- мВ ~ /.vnc / xstartup ~ / .vnc / xstartup.bak
Теперь создайте новый файл xstartup
и откройте его в текстовом редакторе, например, nano
:
Затем добавьте в файл следующие строки:
~ / .vnc / xstartup
#! / Bin / bash
xrdb $ HOME / .Xresources
startxfce4 &
Первая строка — это shebang . В исполняемых текстовых файлах на платформах * nix shebang сообщает системе, в какой интерпретатор передать этот файл для выполнения.В этом случае вы передаете файл интерпретатору Bash. Это позволит выполнять каждую последующую строку как команды по порядку.
Первая команда в файле, xrdb $ HOME / .Xresources
, сообщает инфраструктуре графического интерфейса VNC, что нужно прочитать файл .Xresources
пользователя сервера. .Xresources
— это место, где пользователь может вносить изменения в определенные настройки графического рабочего стола, такие как цвета терминала, темы курсора и рендеринг шрифтов. Вторая команда указывает серверу запустить Xfce.Каждый раз, когда вы запускаете или перезапускаете VNC-сервер, эти команды будут выполняться автоматически.
Сохраните и закройте файл после добавления этих строк. Если вы использовали nano
, сделайте это, нажав CTRL + X
, Y
, затем ENTER
.
Чтобы VNC-сервер мог правильно использовать этот новый файл запуска, вам необходимо сделать его исполняемым:
Затем перезапустите сервер VNC:
Обратите внимание, что на этот раз команда включает параметр -localhost
, который связывает сервер VNC с интерфейсом обратной связи вашего сервера.Это приведет к тому, что VNC будет разрешать только соединения, исходящие от сервера, на котором он установлен.
На следующем шаге вы создадите SSH-туннель между вашей локальной машиной и вашим сервером, по сути заставив VNC думать, что соединение с вашей локальной машины происходит на вашем сервере. Эта стратегия добавит дополнительный уровень безопасности вокруг VNC, поскольку единственные пользователи, которые смогут получить к нему доступ, — это те, у кого уже есть SSH-доступ к вашему серверу.
Вы увидите следующий результат:
Вывод
Новый рабочий стол 'X' - your_hostname: 1
Запуск приложений, указанных в / home / sammy /.vnc / xstartup
Файл журнала: /home/sammy/.vnc/your_hostname:1.log
После настройки конфигурации вы готовы подключиться к серверу VNC со своего локального компьютера.
Шаг 3. Безопасное подключение к рабочему столу VNC
СамVNC не использует безопасные протоколы при подключении. Чтобы безопасно подключиться к серверу, вы создадите туннель SSH, а затем скажете своему VNC-клиенту подключиться через этот туннель, а не устанавливать прямое соединение.
Создайте SSH-соединение на локальном компьютере, которое безопасно перенаправляет на localhost
соединение для VNC.Вы можете сделать это через терминал в Linux или macOS с помощью следующей команды ssh
:
- ssh -L 59000: localhost: 5901 -C -N -l sammy your_server_ip
Вот что означают параметры команды ssh
:
-
-L 59000: localhost: 5901
: переключатель-L
указывает, что данный порт на локальном компьютере (59000
) должен быть перенаправлен на данный хост и порт на целевом сервере (localhost: 5901
, то есть порт5901
на конечном сервере, определенный какyour_server_ip
).Обратите внимание, что указанный вами локальный порт несколько произвольный; если порт еще не привязан к другой службе, вы можете использовать его в качестве порта пересылки для своего туннеля. -
-C
: этот флаг включает сжатие, которое может помочь минимизировать потребление ресурсов и ускорить процесс. -
-N
: эта опция сообщаетssh
, что вы не хотите выполнять какие-либо удаленные команды. Этот параметр полезен, когда вы просто хотите перенаправить порты. -
-l sammy your_server_ip
: переключатель-l
позволяет указать пользователя, под которым вы хотите войти, после подключения к серверу.Обязательно заменитеsammy
иyour_server_ip
именем пользователя без полномочий root и IP-адресом вашего сервера.
Примечание : Эта команда устанавливает SSH-туннель, который пересылает информацию с порта 5901
на вашем VNC-сервере на порт 59000
на вашем локальном компьютере через порт 22
на каждой машине, порт по умолчанию для SSH. Предполагая, что вы следовали предварительному руководству по начальной настройке сервера для Ubuntu 20.04, вы добавите правило UFW, чтобы разрешить подключения к вашему серверу через OpenSSH.
Это более безопасно, чем просто открыть брандмауэр вашего сервера, чтобы разрешить соединения с портом 5901
, поскольку это позволит любому получить доступ к вашему серверу через VNC. Подключаясь через туннель SSH, вы ограничиваете доступ VNC к компьютерам, у которых уже есть доступ SSH к серверу.
Если вы используете PuTTY для подключения к серверу, вы можете создать туннель SSH, щелкнув правой кнопкой мыши верхнюю панель окна терминала и выбрав опцию Изменить настройки… :
Найдите ветку Connection в древовидном меню в левой части окна реконфигурации PuTTY.Разверните ветку SSH и щелкните Tunnels . На экране «Параметры », управляющем переадресацией порта SSH , введите 59000
в качестве порта источника и локальный хост : 5901
в качестве пункта назначения , например:
Затем нажмите кнопку Добавить , а затем кнопку Применить , чтобы реализовать туннель.
После запуска туннеля используйте клиент VNC для подключения к localhost: 59000
.Вам будет предложено пройти аутентификацию с использованием пароля, который вы установили на шаге 1.
После подключения вы увидите рабочий стол Xfce по умолчанию. Должно получиться примерно так:
Вы можете получить доступ к файлам в вашем домашнем каталоге с помощью файлового менеджера или из командной строки, как показано здесь:
Нажмите CTRL + C
в локальном терминале, чтобы остановить туннель SSH и вернуться в командную строку. Это также отключит ваш сеанс VNC.
Теперь вы можете настроить свой VNC-сервер для работы в качестве службы systemd.
Шаг 4. Запуск VNC как системной службы
Настроив сервер VNC для работы в качестве службы systemd, вы можете запускать, останавливать и перезапускать его по мере необходимости, как и любую другую службу. Вы также можете использовать команды управления systemd, чтобы гарантировать запуск VNC при загрузке сервера.
Сначала создайте новый файл модуля с именем /etc/systemd/system/[email protected]
:
- sudo nano /etc/systemd/system/[email protected]
Символ @
в конце имени позволит нам передать аргумент, который вы можете использовать в конфигурации службы.Вы будете использовать это, чтобы указать порт дисплея VNC, который вы хотите использовать при управлении службой.
Добавьте в файл следующие строки. Обязательно измените значение User , Group , WorkingDirectory и имя пользователя в значении PIDFILE , чтобы оно соответствовало вашему имени пользователя:
/etc/systemd/system/[email protected]
[Unit]
Описание = Запускать сервер TightVNC при запуске
После = syslog.target network.target
[Услуга]
Тип = разветвление
Пользователь = Сэмми
Группа = Сэмми
Рабочий каталог = / home / sammy
PIDFile = / home / sammy /.vnc /% H:% i.pid
ExecStartPre = - / usr / bin / vncserver -kill:% i> / dev / null 2> & 1
ExecStart = / usr / bin / vncserver -depth 24 -geometry 1280x800 -localhost:% i
ExecStop = / usr / bin / vncserver -kill:% i
[Установить]
WantedBy = multi-user.target
Команда ExecStartPre
останавливает VNC, если он уже запущен. Команда ExecStart
запускает VNC и устанавливает глубину цвета на 24-битный цвет с разрешением 1280×800. Вы также можете изменить эти параметры запуска в соответствии со своими потребностями.Также обратите внимание, что команда ExecStart
снова включает параметр -localhost
.
Сохраните и закройте файл.
Затем сообщите системе о новом файле модуля:
- sudo systemctl демон-перезагрузка
Включить файл модуля:
- sudo systemctl включить [email protected]
1
, следующий за знаком @
, обозначает номер дисплея, на котором должна отображаться служба, в данном случае это значение по умолчанию : 1
, как обсуждалось на шаге 2.
Остановить текущий экземпляр сервера VNC, если он все еще работает:
Затем запустите его, как любую другую службу systemd:
- sudo systemctl start vncserver @ 1
Вы можете убедиться, что он запустился с помощью этой команды:
- sudo systemctl status vncserver @ 1
Если он запустился правильно, результат должен выглядеть так:
Выход
● vncserver @ 1.service - Запускать сервер TightVNC при запуске
Загружено: загружено (/etc/systemd/system/[email protected]; включено; предустановка поставщика: включено)
Активен: активен (работает) с Thu 2020-05-07 17:23:50 UTC; 6с назад
Процесс: 39768 ExecStartPre = / usr / bin / vncserver -kill: 1> / dev / null 2> & 1 (code = exited, status = 2)
Процесс: 39772 ExecStart = / usr / bin / vncserver -depth 24 -geometry 1280x800: 1 (код = выход, статус = 0 / УСПЕХ)
Основной PID: 39795 (Xtightvnc)
...
Теперь ваш VNC-сервер готов к использованию всякий раз, когда ваш сервер загружается, и вы можете управлять им с помощью команд systemctl
, как и любой другой сервис systemd.
Однако на стороне клиента разницы не будет. Чтобы повторно подключиться, снова запустите свой SSH-туннель:
- ssh -L 59000: localhost: 5901 -C -N -l sammy your_server_ip
Затем создайте новое соединение с помощью клиентского программного обеспечения VNC к localhost: 59000
для подключения к вашему серверу.
Заключение
Теперь у вас есть защищенный сервер VNC, работающий на вашем сервере Ubuntu 20.04. Теперь вы сможете управлять своими файлами, программным обеспечением и настройками с помощью удобного графического интерфейса и сможете удаленно запускать графическое программное обеспечение, например веб-браузеры.
Oracle® Linux 7 Настройка сети
Установите пакет tigervnc-server
:
# ням установить tigervnc-server
Создайте среду VNC для пользователей VNC.
Каждый рабочий стол VNC в системе запускает сервер VNC как конкретный пользователь. Этот пользователь должен иметь возможность войти в система с именем пользователя и паролем или ключом SSH (если к рабочему столу VNC необходимо получить доступ через туннель SSH).
Используйте команду vncpasswd , чтобы создать
пароль для рабочего стола VNC. Пароль должен быть создан
пользователь, который запускает сервер VNC, а не корень
, например:
#su -
$vncuser
vncpasswd
Пароль:Проверить:
пароль
пароль
Пароль должен содержать не менее шести символов.Если
пароль длиннее восьми символов, только первые восемь
символы используются для аутентификации. Обфусцированная версия
пароля хранится в $ HOME / .vnc / passwd
, если имя файла
указывается с помощью команды vncpasswd .
Создайте файл конфигурации служебного модуля для каждого рабочего стола VNC. это должно быть доступно в системе.
Скопируйте
vncserver @.шаблон службы
файл, например:#
cp /lib/systemd/system/[email protected]
\/ etc / systemd / system / vncserver @ \:
дисплей
.serviceВ предыдущей команде
дисплей
уникальный дисплей номер рабочего стола VNC, начиная с1
. Используйте символ обратной косой черты (\
), чтобы избежать двоеточия (:
) персонаж.Каждый рабочий стол VNC связан с учетной записью пользователя. Для простота администрирования, если у вас несколько рабочих столов VNC, вы можете включить имя пользователя VNC в имя файл конфигурации служебного модуля, например:
#
cp /lib/systemd/system/[email protected]
\/ etc / systemd / system / vncserver-
vncuser
@ \:дисплей
.сервисОтредактируйте файлы конфигурации служебного модуля.
Следующие разделы в файле конфигурации должны напоминают образцы записей. Заменять
vncuser
с актуальным VNC имя пользователя.[Сервис] Тип = разветвление Рабочий каталог = / home /
vncuser
Пользователь =vncuser
Группа =vncuser
# Очистить все существующие файлы в / tmp /.X11-unix среда ExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 || : ' ExecStart = / usr / bin / vncserver% i PIDFile = / home /vncuser
/.vnc/%H%i.pid ExecStop = / usr / bin / vncserver -kill% iПри желании вы можете добавить аргументы командной строки для VNC сервер. В следующем примере только сервер VNC принимает соединения от
localhost
, Это означает, что к рабочему столу VNC можно получить доступ только локально. или через туннель SSH; и размер окна было изменено с 1024×768 по умолчанию на 640×480 с использованием флагgeometry
:ExecStart = / usr / bin / vncserver% i -localhost -geometry 640x480 PIDFile = / home /
vncuser
/.vnc /% H% i.pid
Запустите рабочие столы VNC.
Сделать
systemd
перезагрузить его конфигурацию файлы:#
systemctl демон-перезагрузка
Для каждого рабочего стола VNC запустите службу и настройте сервис для запуска после перезагрузки системы. Не забудьте использовать имя пользователя и отображаемый номер, которые вы указали в файл конфигурации служебной единицы, который будет связан с эта услуга.Например:
#
systemctl start vncserver-
#vncuser
@ \:дисплей
.servicesystemctl enable vncserver-
vncuser
@ \:display
.service
Примечание
Если вы вносите какие-либо изменения в конфигурацию сервисного подразделения файл, необходимо перезагрузить файл конфигурации и перезапустить услуга.
Настройте брандмауэр, чтобы разрешить доступ к рабочим столам VNC.
Если пользователи будут получать доступ к рабочим столам VNC через туннель SSH и служба SSH включена в системе, вам не нужно для открытия дополнительных портов в брандмауэре. SSH включен дефолт. Для получения информации о включении SSH см. Oracle® Linux: подключение к удаленным системам с помощью OpenSSH .
Если пользователи будут напрямую обращаться к рабочим столам VNC, вы должны открыть требуемый порт для каждого рабочего стола.Требуемые порты могут быть рассчитывается путем добавления номера отображения службы рабочего стола VNC к 5900 (порт сервера VNC по умолчанию). Итак, если номер дисплея равно 1, требуемый порт — 5901, и если номер дисплея 67, требуемый порт — 5967.
Чтобы открыть порты с 5900 по 5903, вы можете использовать следующие команды:
#firewall-cmd --zone =
#зона
--add-service = vnc-serverfirewall-cmd --zone =
зона
--add-service = vnc-server --permanent
Чтобы открыть дополнительные порты, например порт 5967, используйте следующие команды:
#firewall-cmd --zone =
#зона
--add-port = 5967 / tcpfirewall-cmd --zone =
zone
--add-port = 5967 / tcp
--permanent
Настройте рабочие столы VNC.
По умолчанию сервер VNC запускает рабочий стол пользователя по умолчанию.
среда. Это контролируется пользователем VNC. $ HOME / .vnc / xstartup файл
, который создается
автоматически при запуске службы рабочего стола VNC.
Если вы не установили среду рабочего стола, когда вы установили систему (например, потому что вы выбрали Минимальный Установить как базовую среду), вы можете установить ее с следующая команда:
# yum groupinstall "сервер с графическим интерфейсом"
Когда установка будет завершена, используйте systemctl
get-default , чтобы проверить, что система по умолчанию
состояние многопользовательское.цель
(многопользовательская
среда командной строки). Используйте systemctl
Команда set-default сбрасывает состояние системы по умолчанию
или изменить его на graphical.target
(многопользовательская графическая среда), если хотите.
Файл $ HOME / .vnc / xstartup
представляет собой оболочку
скрипт, который указывает приложения X для запуска, когда VNC
рабочий стол запущен. Например, чтобы запустить KDE Plasma
В рабочей области вы можете отредактировать файл следующим образом:
#! / Bin / sh сбросить SESSION_MANAGER сбросить DBUS_SESSION_BUS_ADDRESS #exec / и т.д. / X11 / xinit / xinitrc startkde и
Если вы внесете какие-либо изменения в пользовательский $ ГЛАВНАЯ /.vnc / xstartup
, необходимо перезапустить
рабочий стол VNC, чтобы изменения вступили в силу:
# systemctl restart vncserver- vncuser
@ \: дисплей
.service
Как установить и настроить VNC-сервер в Ubuntu
Virtual Network Computing ( VNC ) — широко используемая графическая система совместного использования рабочего стола, которая позволяет учетным записям пользователей удаленно подключаться и управлять интерфейсом рабочего стола одного компьютера с другого компьютера или мобильного устройства.
В этой статье мы объясним, как установить и настроить VNC Server на Ubuntu 18.04 Desktop edition с помощью программы tigervnc-server .
Среда тестирования
Сервер VNC : 192.168.56.108 Клиент VNC : 192.168.56.2
Установите среду рабочего стола в Ubuntu
Как я уже сказал, VNC — это система общего доступа к рабочему столу, поэтому на вашем сервере Ubuntu должна быть установлена среда рабочего стола.Вы можете установить DE по вашему выбору, выполнив соответствующие команды ниже. Для целей этой статьи мы установим Ubuntu Gnome (официальная версия).
$ sudo apt-get install ubuntu-desktop # По умолчанию Рабочий стол Ubuntu $ sudo apt install ubuntu-gnome-desktop #Ubuntu Gnome (Официальная версия) $ sudo apt-get install xfce4 #LXDE $ sudo apt-get install lxde #LXDE $ sudo apt-get install kubuntu-desktop #KDE
Установка и настройка VNC в Ubuntu
Tigervnc-server — это высокоскоростная многоплатформенная программа VNC, которая запускает сервер Xvnc и запускает параллельные сеансы Gnome или другой среды рабочего стола на рабочем столе VNC.
Чтобы установить сервер TigerVNC и другие связанные пакеты в Ubuntu, выполните следующую команду.
$ sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer
Теперь запустите сервер VNC, выполнив команду vncserver от имени обычного пользователя. Это действие создаст начальную конфигурацию, хранящуюся в каталоге $ HOME / .vnc
, а также предложит вам установить пароль для входа.
Введите пароль (длина которого должна быть не менее шести символов) и подтвердите / подтвердите его. Затем установите пароль только для просмотра, если хотите, как показано ниже.
$ vncserver $ ls -l ~ / .vncЗапустите VNC Server
Затем нам нужно настроить DE для работы с сервером VNC . Итак, остановите сервер VNC , используя следующую команду, чтобы выполнить некоторые настройки.
$ vncserver -kill: 1Остановить VNC Server
Чтобы настроить GNOME или любой другой рабочий стол, который вы установили, создайте файл с именем xstartup в каталоге конфигураций с помощью вашего любимого текстового редактора.
$ vi ~ / .vnc / xstartup
Добавьте в файл следующие строки. Эти команды будут автоматически выполняться при каждом запуске или перезапуске сервера TigerVNC. Обратите внимание, что команды могут отличаться в зависимости от установленного вами DE.
#! / Bin / sh exec / и т. д. / vnc / xstartup xrdb $ HOME / .Xresources vncconfig -iconic & dbus-launch --exit-с-сеансом gnome-session &
Сохраните файл и установите соответствующее разрешение для файла, чтобы его можно было запустить.
$ chmod 700 ~ / .vnc / xstartup
Затем запустите сервер VNC , выполнив следующую команду от имени обычного пользователя. Установите свои собственные значения для геометрии отображения. Кроме того, используйте флаг -localhost
, чтобы разрешить соединения только от localhost и, по аналогии, только от пользователей, аутентифицированных на сервере.
Кроме того, VNC по умолчанию использует TCP-порт 5900 + N
, где N
— это номер дисплея.В этом случае : 1
означает, что сервер VNC будет работать с номером порта отображения 5901 .
$ vncserver: 1 -localhost -geometry 1024x768 -depth 32Запустите сервер VNC для подключения
Чтобы вывести список сеансов сервера VNC в вашей системе, выполните следующую команду.
$ vncserver -списокСписок сеансов VNC
После запуска сервера VNC проверьте порт, на котором он работает, с помощью команды netstat.
$ netstat -tlnpПроверьте работающие порты VNC
Подключение к серверу VNC через клиент VNC
В этом разделе мы покажем, как подключиться к серверу VNC, но прежде чем мы перейдем к этому, вам необходимо знать, что по умолчанию VNC небезопасен по умолчанию (это не зашифрованный протокол и может подвергаться сниффингу пакетов). ).Эту проблему можно решить, создав туннель от клиента к серверу через SSH.
Используя SSH-туннелирование, вы можете безопасно перенаправлять трафик с локального компьютера на порт 5901 на сервер VNC на том же порту.
На клиентском компьютере Linux откройте новое окно терминала и выполните следующую команду, чтобы создать туннель SSH к серверу VNC.
$ ssh -i ~ / .ssh / ubuntu18.04 -L 5901: 127.0.0.1: 5901 -N -f -l tecmint 192.168.56.108
Затем установите клиент vncviewer, например TigerVNC Viewer , как показано ниже (вы можете установить любой другой клиент по вашему выбору).
$ sudo apt install tigervnc-viewer # Ubuntu / Debian $ sudo yum install tigervnc-viewer # CnetOS / RHEL $ sudo yum install tigervnc-viewer #Fedora 22+ $ sudo zypper install tigervnc-viewer #OpenSUSE $ sudo pacman -S tigervnc # Arch Linux
После завершения установки запустите клиент VNC, укажите адрес localhost: 5901
для подключения, чтобы отобразить 1 следующим образом.
$ vncviewer локальный хост: 5901
Также можно открыть его из системного меню, ввести адрес, указанный выше, и затем щелкнуть Connect .
Откройте клиент VNC для подключения. Вам будет предложено ввести пароль для входа VNC , созданный ранее, введите его и нажмите OK , чтобы продолжить.
Введите пароль для входа в VNC. Если пароль правильный, вы попадете в интерфейс входа на рабочий стол. Введите свой пароль для доступа к рабочему столу.
Доступ к интерфейсу входа в систему на рабочем столе Доступ к рабочему столу Ubuntu через VNCВнимание : Если вы заботитесь о безопасности, вы могли заметить, что программа просмотра VNC показывает « соединение не зашифровано, », даже несмотря на то, что мы включили SSH-туннелирование.
Это связано с тем, что он предназначен для использования определенных схем безопасности, отличных от туннелирования SSH, при попытке аутентификации с сервером. Однако после включения SSH-туннелирования соединение становится безопасным.
Создание файла модуля Systemd для сервера TigerVNC
Чтобы управлять сервером VNC под systemd , то есть запускать, останавливать и перезапускать службу VNC по мере необходимости, нам необходимо создать для него файл модуля в каталоге / etc / systemd / system / с привилегии root.
$ sudo vim / etc / systemd / system / [адрес электронной почты защищен]
Затем добавьте в файл следующие строки:
[Единица] Описание = Служба удаленного рабочего стола (VNC) После = syslog.target network.target [Услуга] Тип = простой Пользователь = tecmint PAMName = логин PIDFile = / home /% u / .vnc /% H% i.pid ExecStartPre = / usr / bin / vncserver -kill:% i> / dev / null 2> & 1 || : ExecStart = / usr / bin / vncserver:% i -localhost no -geometry 1024x768 ExecStop = / usr / bin / vncserver -kill:% i [Установить] WantedBy = многопользовательский.цель
Сохраните файл и закройте его.
Затем перезагрузите конфигурацию диспетчера systemd, чтобы прочитать только что созданный файл модуля, как показано ниже.
$ sudo systemctl демон-перезагрузка
Затем запустите службу VNC, включите ее автоматический запуск при загрузке системы и проверьте ее состояние, как показано.
$ sudo systemctl start [адрес электронной почты защищен] $ sudo systemctl enable [электронная почта защищена] $ sudo systemctl status [электронная почта защищена]Запуск и проверка статуса VNC
Вот и все! В этой статье мы объяснили, как установить и настроить сервер VNC в дистрибутиве Linux Ubuntu .Поделитесь с нами своими вопросами или мыслями через форму обратной связи ниже.
Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:
TecMint — это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! искать или просматривать тысячи опубликованных статей, доступных БЕСПЛАТНО для всех.
Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Как настроить VNC-сервер в Red Hat Enterprise Linux 8
Сводка
Из файла /usr/share/doc/tigervnc/HOWTO.md: В предыдущих версиях tigervnc был сценарий оболочки под названием `vncserver`, который можно было запустить вручную от имени пользователя для запуска процесса * Xvnc *.
Сервер Tigervnc теперь использует * systemd *, и настройка полностью изменилась.Есть новый способ, как все это должно работать.
Объектив
Чтобы предоставить подробные инструкции по установке, настройке и запуску сервера tigervnc в системах RHEL 8 с использованием новой реализации * systemd *.
Окружающая среда
Версия ОС | Red Hat Enterprise Linux, выпуск 8.3 (Уотпа) |
Ступеньки
1- Чтобы установить необходимые пакеты, выполните следующую команду от имени пользователя root:
[root @ vncserver ~] # yum -y установить tigervnc-server tigervnc
2- Вам потребуется установленная система X Windows, и система запускается в графическом режиме.цель для работы tigervnc.
Если графическая среда рабочего стола еще не установлена, для загрузки системы RHEL в графическую среду рабочего стола необходимо установить следующие группы пакетов:
[root @ vncserver ~] # yum -y group install GNOME base-x
или
[root @ vncserver ~] # yum groupinstall "Сервер с графическим интерфейсом"
3- Настройте систему для загрузки непосредственно в графический интерфейс, затем переключитесь на graphical.target:
[root @ vncserver ~] # systemctl set-default графический.цель
Удален /etc/systemd/system/default.target.
Создана символическая ссылка /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.
[root @ vncserver ~] # systemctl изолировать graphical.target
4- Создайте учетную запись пользователя VNC (если она еще не существует) для определенных пользователей, которым потребуется доступ к системе через VNC:
[root @ vncserver ~] # useradd vncuser1
[root @ vncserver ~] # пароль vncuser1
5- После этого войдите в систему как пользователь и создайте vncpassword:
[корень @ vncserver ~] # su - vncuser1
[vncuser1 @ vncserver ~] $ vncpasswd
6- Настройте параметры Xvnc, у пользователя есть собственная конфигурация в $ HOME /.vnc / config:
[vncuser1 @ vncserver ~] $ echo 'session = gnome'> ~ / .vnc / config
Примечание:
|
7- Добавьте отображение пользователей в / etc / tigervnc / vncserver.пользователей:
[корень @ vncserver ~] # echo ': 1 = vncuser1' >> /etc/tigervnc/vncserver.users
Примечание:
|
8- Создать модуль systemd для сервера VNC @: 1
[root @ vncserver ~] # cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
9- Настройте брандмауэр для приема входящих соединений для VNC.
[root @ vncserver ~] # firewall-cmd --permanent --zone = public --add-port 5901 / tcp
[root @ vncserver ~] # firewall-cmd --reload
10- Включить службу vnc:
[root @ vncserver ~] # systemctl включить vncserver @: 1.service
Создана символическая ссылка /etc/systemd/system/multi-user.target.wants/vncserver@:1.service → /etc/systemd/system/vncserver@:1.service.
[root @ vncserver ~] # systemctl start vncserver @: 1.service
11- Проверьте статус vncserver:
[root @ vncserver ~] # статус systemctl vncserver @ \: 1.услуга
● vncserver @: 1.service - Служба удаленного рабочего стола (VNC)
Загружено: загружено (/etc/systemd/system/vncserver@:1.service; включено; предустановка поставщика: отключено)
Активен: активен (работает) с сб 2021-02-20 06:04:03 PST; 1мин назад
Процесс: 920 ExecStart = / usr / libexec / vncsession-start: 1 (код = завершен, статус = 0 / УСПЕХ)
Основной PID: 938 (vncsession)
Задач: 1 (лимит: 11392)
Память: 2.3 МБ
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
‣ 938 / usr / sbin / vncsession vncuser1: 1
20 февраля, 06:04:00 vncserver.example.com systemd [1]: Запуск службы удаленного рабочего стола (VNC) ...
20 февраля, 06:04:03 vncserver.example.com systemd [1]: запущена служба удаленного рабочего стола (VNC).
[root @ vncserver ~] # ss -atp | grep 5901
СЛУШАТЬ 0 5 0.0.0.0:5901 0.0.0.0:* пользователи: (("Xvnc", pid = 1308, fd = 6))
СЛУШАТЬ 0 5 [::]: 5901 [::]: * users: (("Xvnc", pid = 1308, fd = 7))
Дополнительная информация
Прочтите / usr / share / doc /
[{«Вид деятельности»: {«код»: «LOB26», «ярлык»: «Хранилище»}, «Бизнес-единица»: {«код»: «BU058», «ярлык»: «Инфраструктура IBM с \ / TPS «},» Продукт «: {» код «:» SGMV157 «,» ярлык «:» Поддержка IBM для Red Hat Enterprise Linux Server «},» Категория ARM «: [],» Платформа «: [{» код » : «PF025», «label»: «Независимый от платформы»}], «Версия»: «Все версии»}]
.