- VNC — удаленный доступ к компьютеру по сети
- VPS на Linux с графическим интерфейсом: запускаем сервер VNC на Ubuntu 18.04
- Оглавление:
- Выбор сервера VNC
- Установка и настройка
- Запуск службы через systemd
- Подключение к рабочему столу
- Как подключиться к серверу по VNC
- Что такое VNC
- Особенности VNC
- Подключаемся к серверу по VNC
- Способ 1: Через панель управления VMmanager
- Способ 2: Через VNC-клиент
- Почему не удается подключиться?
VNC — удаленный доступ к компьютеру по сети
Введение в VNC. Материал ориентирован на неопытного пользователя.
VNC — это широко распространенный метод удаленного доступа к рабочему столу компьютера по сети. Данные о нажатии клавиш и движении мыши, выполняемых пользователем на собственном компьютере передаются по сети на удаленный компьютер и воспринимаются им действия с его собственными клавиатурой и мышью. Информация с экрана удаленного компьютера выводится на экране компьютера пользователя. Работа по VNC через интернет с удаленным компьютером, находящимся в противоположной точке мира, для пользователя выглядит так, как будто этот компьютер находится непосредственно перед ним. Особенно VNC удобен при работе с графическим интерфейсом — с рабочим столом и программами для рабочего стола операционных систем Windows, Linux и других.
1. VNC-клиент на компьютере пользователя под управлением ОС Windows, с открытым рабочим столом VDS (виртуального сервера), работающего под управлением Ubuntu 9.10.
Для начинающих пользователей администрирование Unix-сервера по VNC будет намного проще, чем через командную строку по SSH или панель управления с веб-интерфейсом. Программы с графическим интерфейсом, как правило, хорошо структурированы и более интуитивны в понимании, чем редактирование конфигурационных файлов по инструкциям. Администрирование сервера выглядит почти так же, как настройки десктопной версии операционной системы, будь то Linux или Windows. Можно даже установить на собственный компьютер аналогичную версию операционной системы для тренировки, и переходить к администрированию VDS/VPS уже после того, как будут понятны основные принципы настройки системы.
Для администрирование собственного сервера по VNC пользователю достаточно уметь работать с графическим оконным интерфейсом и иметь базовое представления о главных компонентах операционной системы — файловая система, сеть, работа сервисов (демонов).
На удаленном компьютере должна быть запущена программа-сервер (VNC server), которая играет роль клавиатуры, мыши и монитора, и обменивается данными с компьютером пользователя. Доступ к VNC-серверу может быть защищен паролем.
На компьютере пользователя должна быть запущена программа-клиент (VNC client, VNC viewer), которая передает на удаленный компьютер информацию о нажатиях на клавиши и движениях мыши, получает от него изображение и выводит его на экран. VNC-клиенты существуют для Windows, Linux, FreeBSD, MacOS и многих других платформ. Есть также VNC-клиенты для карманных компьютеров и мобильных телефонов. При запуске VNC-клиента достаточно указать DNS-имя или IP-адрес удаленного компьютера, и пароль, если доступ к VNC-серверу защищен паролем.
Основной объем передаваемых по VNC данных приходится на графический информацию, выводимую на экран. Для работы требуется ширина пропускания канала от 32 Кбит/сек до 2 Мбит/сек. Для комфортной работы в полноцветном режиме при разрешении экрана 1024×768 скорость канала должна быть 1-2 Мбит/сек. При снижении качества графики, при уменьшении числа цветов и при некоторых дополнительных способах оптимизации, приемлемое удобство может обеспечить скорость 128 Кбит/сек. Канал занимается полностью только при обновлении больших участков экрана, при печати текста трафик заметно меньше, а в остальное время канал практически не используется. Если при передаче по каналу возникают большие задержки передачи пакетов (медленные каналы, спутниковая связь, большие расстояния), это вызывает ухудшение времени реакции на нажатие клавиш и движение мыши, что значительно снижает комфортность работы.
Источник
VPS на Linux с графическим интерфейсом: запускаем сервер VNC на Ubuntu 18.04
Некоторые пользователи арендуют относительно недорогие VPS с Windows для запуска сервиса удаленных рабочих столов. То же самое можно сделать и на Linux без размещения в датацентре собственного железа или аренды выделенного сервера. Кому-то нужна привычная графическая среда для тестов и разработки или удаленный десктоп с широким каналом для работы с мобильных устройств. Есть масса вариантов применения основанной на протоколе Remote FrameBuffer (RFB) системы Virtual Network Computing (VNC). В небольшой статье мы расскажем, как настроить ее на виртуальной машине с любым гипервизором..
Оглавление:
Выбор сервера VNC
Сервис VNC может быть встроен в систему виртуализации, при этом гипервизор свяжет его с эмулируемыми устройствами и никакой дополнительной настройки не потребуется. Этот вариант предполагает значительные накладные расходы и поддерживается далеко не всеми провайдерами — даже в менее ресурсоемкой реализации, когда вместо эмуляции реального графического устройства виртуальной машине передается упрощенная абстракция (фреймбуфер). Иногда VNC-сервер привязывается к работающему X-серверу, но этот способ больше подходит для доступа к физической машине, а на виртуальной он создает ряд технических сложностей. Проще всего установить VNC-сервер со встроенным X-сервером. Он не требует наличия физических устройств (видеоадаптера, клавиатуры и мыши) или их эмуляции с помощью гипервизора, а потому подходит для VPS любого типа.
Установка и настройка
Нам потребуется виртуальная машина с Ubuntu Server 18.04 LTS в конфигурации по умолчанию. В стандартных репозиториях этого дистрибутива есть несколько серверов VNC: TightVNC, TigerVNC, x11vnc и прочие. Мы остановились на TigerVNC — актуальном форке не поддерживаемого разработчиком TightVNC. Настройка других серверов выполняется сходным образом. Также нужно выбрать окружение рабочего стола: оптимальным, на наш взгляд, вариантом будет XFCE из-за относительно невысоких требований к вычислительным ресурсам. Желающие могут установить другой DE или WM: тут все зависит от личных предпочтений, однако выбор ПО напрямую влияет на потребность в оперативной памяти и вычислительных ядрах.
Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:
Дальше необходимо инсталлировать сервер VNC:
Запускать его с правами суперпользователя — плохая идея. Создаем пользователя и группу:
Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:
На следующем шаге нужно запустить сервер VNC с привилегиями пользователя vnc, чтобы создать безопасный пароль и конфигурационные файлы в каталоге
/.vnc/. Длина пароля может быть от 6 до 8 символов (лишние обрезаются). При необходимости также задается пароль только для просмотра, т.е. без доступа к клавиатуре и мыши. Следующие команды выполняются от имени пользователя vnc:
По умолчанию протокол RFB использует диапазон TCP-портов от 5900 до 5906 — это т.н. порты дисплея, каждый из которых соответствует экрану X-сервера. При этом порты ассоциированы с экранами от :0 по :6. Запущенный нами экземпляр сервера VNC слушает порт 5901 (экран :1). Прочие экземпляры могут работать на других портах с экранами :2, :3 и т. д. Перед дальнейшей настройкой нужно остановить сервер:
Команда должна вывести примерно такое сообщение: «Killing Xtigervnc process ID 18105… success!».
При запуске TigerVNC выполняет сценарий
/.vnc/xstartup для настройки параметров конфигурации. Создадим собственный скрипт, предварительно сохранив резервную копию имеющегося, если он существует:
Сеанс окружения рабочего стола XFCE запускается следующим скриптом xstartup:
Команда xrdb необходима, чтобы система VNC прочитала файл .Xresources в домашнем каталоге. Там пользователь может определить различные параметры графического рабочего стола: рендеринг шрифтов, цвета терминала, темы курсора и т.д. Сценарий необходимо сделать исполняемым:
На этом настройка сервера VNC завершена. Если запустить его командой vncserver -localhost no (от имени пользователя vnc), можно будет подключиться с заданным ранее паролем и увидеть такую картину:
Запуск службы через systemd
Ручной запуск сервера VNC плохо подходит для боевого применения, поэтому мы настроим системную службу. Команды выполняются от имени root (используем sudo). Для начала создаем новый юнит-файл для нашего сервера:
Символ @ в имени позволяет передавать аргумент для настройки службы. В нашем случае он задает порт дисплея VNC. Юнит-файл состоит из нескольких разделов:
Затем нужно уведомить systemd о появлении нового файла и активировать его:
Цифра 1 в имени задает номер экрана.
Останавливаем сервер VNC, запускаем его как службу и проверяем статус:
Если служба работает, мы должны получить примерно такой результат.
Подключение к рабочему столу
Наша конфигурация не использует шифрование, поэтому сетевые пакеты могут быть перехвачены злоумышленниками. К тому же в VNC-серверах достаточно часто находят уязвимости, так что открывать их для доступа из интернета не стоит. Для безопасного подключения на локальном компьютере нужно упаковать трафик в туннель SSH, а затем настроить клиент VNC. Под Windows можно использовать графический клиент SSH (например, PuTTY). Для безопасности TigerVNC на сервере слушает только localhost и недоступен напрямую из сетей общего пользования:
В Linux, FreeBSD, OS X и прочих UNIX-подобных ОС туннель с клиентского компьютера делается с помощью утилиты ssh (на сервере VNC должен быть запущен sshd):
Опция -L привязывает порт 5901 удаленного подключения к порту 5901 на localhost. Опция -C включает сжатие, а -N указывает утилите ssh на отсутствие необходимости выполнять удаленную команду. Опция -l задает login для удаленного входа в систему.
После настройки туннеля на локальном компьютере необходимо запустить клиент VNC и установить соединение с хостом 127.0.0.1:5901 (localhost:5901), использовав для доступа к серверу VNC заданный ранее пароль. Теперь мы можем безопасно взаимодействовать через шифрованный туннель с графическим окружением рабочего стола XFCE на VPS. На скриншоте в эмуляторе терминала запущена утилита top, чтобы показать незначительное потребление виртуальной машиной вычислительных ресурсов. Дальше все будет зависеть от пользовательских приложений.
Источник
Как подключиться к серверу по VNC
Начинающие разработчики часто сталкиваются со сложностью в администрировании Unix-систем. Привычный способ подключения через SSH-туннель или веб-интерфейс для многих оказывается сложным на первых порах. Чтобы не потерять мотивацию в своих начинаниях, часто используются программы с графическим интерфейсом, позволяющие вести удаленную связь с сервером. В них пользователь может администрировать сервер точно так же, будто он работает за своим компьютером. За все это отвечает особая система VNC, о которой мы сегодня и поговорим. Что такое VNC и как с помощью нее подключиться к серверу, разберемся далее.
Что такое VNC
VNC (от англ. Virtual Network Computing) – система, позволяющая подключаться к удаленному компьютеру через протокол RFB. Алгоритм работы реализован следующим образом: для соединения используется специальная программа либо панель управления VMmanager, в нее вводятся данные для авторизации, и в результате пользователь получает полноценный доступ к запрашиваемой системе. С помощью этого протокола мы можем работать с компьютером, который находится в другой точке планеты.
Близким по понятию является соединение по RDP, но такой способ обычно ассоциируется с ОС Windows. VNC же больше относится к системам Linux, но также поддерживает и Windows, MacOS, Chrome, iOS, Android и даже Raspberry Pi.
Программное обеспечение распространяется в свободном доступе. Популярные утилиты, которые можно скачать – Ultra VNC remote access tools, TightVNC и VNC Viewer. Подробнее о том, как ими воспользоваться, мы поговорим чуть позднее, а пока давайте рассмотрим преимущества подключения по ВНС.
Особенности VNC
Удаленное подключение обычно осуществляется через протоколы RDP и SSH – они чаще используются для получения доступа к VDS. Но если есть они, зачем использовать ВНС?
Вот некоторые особенности, полезные для некоторых сценариев:
- Возможность сессионного коннекта, благодаря которому разрешено подключаться нескольким пользователям.
- VNC-клиент может подключаться к любой другой операционной системе.
- Поддержка мобильного приложения на iOS и Android.
Важно: для соединения сервер должен использовать KVM. Это аппаратная виртуализация, позволяющая воссоздать физический сервер на виртуальной машине. Также существует другая виртуализация под названием OpenVZ – она разрешает запускать несколько ОС на одной машине.
Как только вы убедитесь, что сервер использует KVM, можно переходить к подключению по ВНС. О том, как это сделать, мы поговорим уже в следующем разделе.
Подключаемся к серверу по VNC
Существует два способа подключения к VDS/VPS по VNS: через панель управления VMmanager и с помощью VNC-клиента. Первый вариант подразумевает установленную панель с приобретенной лицензией. Второй – установленную на компьютер программу (Ultra VNC remote access tools, TightVNC или VNC Viewer). Давайте рассмотрим, как всем этим можно воспользоваться и подключиться к VDS/VPS.
Способ 1: Через панель управления VMmanager
Перед тем как воспользоваться панелью, ее нужно установить к себе на сервер и получить лицензию. На Ubuntu это реализуется посредствам выполнения команд в консоли. Рекомендуем установить к себе на компьютер помощник для удаленного соединения PuTTY, чтобы легко вводить команды в консоль без каких-либо хлопот.
- Запускаем на компьютере PuTTY, в разделе «Session» вводим IP-адрес и кликаем по кнопке «Open».
- В консоли прописываем логин и пароль для входа. Коннект осуществляется по защищенному протоколу, поэтому ваши данные не будут перехвачены во время соединения. В результате будет отображен текст приветствия с информацией об установленной ОС.
- Последующие команды мы сможем скопировать и вставить в консоль простым кликом правой кнопкой мыши – это и есть одно из преимуществ такого метода. В консоли хостинга сделать так не получится.
- Устанавливаем утилиту, позволяющую загружать файлы:
- Загружаем установщик ISPsystem:
- Устанавливаем VMmanager:
- Далее перед нами отобразится окно выбора – нажимаем 1 и жмем «Enter».
Таким образом на машине будет установлена панель управления. Чтобы в нее войти, нужно в браузере ввести ссылку: https:// :1500/vmmgr. В результате будет отображено окно, где нужно активировать лицензию либо воспользоваться ознакомительной версией.
Как только регистрация будет завершена, мы получим доступ к самой панели. Там переходим в раздел «Управление» -> «Виртуальные машины» и в правой части окна кликаем по кнопке «VNC».
Далее будет запущена консоль, в которой следует ввести логин и пароль от VDS.
Вот такими несложными действиями мы смогли подключиться к VDS/VPS через VMmanager. Теперь давайте рассмотрим более простой способ с использованием специальной утилиты.
Способ 2: Через VNC-клиент
Как мы говорили ранее, существует множество различных программ, позволяющих подключаться по протоколу RFB. Не будем рассматривать все возможные варианты, а разберемся в работе утилиты VNC Viewer.
Подключаемся через VNC-клиент:
- Открываем официальную страницу и загружаем программу под нужную операционную систему.
- Установим программу и остановимся немного на теории. Так как на ПК разрешено использовать несколько ВНС, для их разделения необходимо указывать номер дисплея. Каждому соответствует номер TCP-порта. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901 и так далее.
- Таким образом, в VNC Viewer следует ввести IP-адрес и приписать к нему порт. Например, 89.11.201.22:5900.
- Запускаем программу, вводим в нее свое значение и жмем «Connect to…».
- В случае успешного распознавания виртуальной машины отобразится небольшое окно авторизации, в которое нужно ввести данные для входа.
- При подключении к системам Linux, будет отображена только консоль, как происходит в случае с SSH. Если соединение происходит на Windows, то VNC Viewer преобразится в окно с графическим доступом к системе.
Почему не удается подключиться?
Ошибки подключения могут быть связаны со следующим:
- отсутствует подключение к интернету;
- виртуальная машина не отвечает на пинги;
- на машине не запущен VNC-сервер;
- файрвол перекрывает доступ к TCP-порту;
- неправильно указан номер порта после двоеточия.
На этом наша статья подходит к концу. Надеемся, что у вас не осталось вопросов, и подключение к серверу по VNC прошло без затруднений. Спасибо за внимание!
Источник