- Как установить и настроить VNC в Debian 9
- How to Install and Configure VNC on Debian 9
- В этом руководстве описывается, как установить и настроить сервер VNC в Debian 9. Мы также покажем вам, как создать туннель SSH и безопасно подключиться к серверу VNC.
- Прежде чем продолжить
- Установка среды рабочего стола
- Установка VNC-сервера
- Настройка VNC-сервера
- Создание файла модуля Systemd
- Подключение к VNC-серверу
- Настройка SSH-туннелирования в Linux и macOS
- Настроить SSH-туннелирование в Windows
- Подключение с помощью Vncviewer
- Заключение
- VPS на Linux с графическим интерфейсом: запускаем сервер VNC на Ubuntu 18.04
- Оглавление:
- Выбор сервера VNC
- Установка и настройка
- Запуск службы через systemd
- Подключение к рабочему столу
- Как установить и настроить VNC в Ubuntu 18.04
- Подготовка
- Установка среды рабочего стола
- Установка VNC-сервера
- Настройка VNC-сервера
- Создание файла модуля Systemd
- Подключение к VNC-серверу
- Настроить SSH-туннелирование в Linux и macOS
- Настроить SSH-туннелирование в Windows
- Подключение с помощью Vncviewer
- Выводы
Как установить и настроить VNC в Debian 9
How to Install and Configure VNC on Debian 9
В этом руководстве описывается, как установить и настроить сервер VNC в Debian 9. Мы также покажем вам, как создать туннель SSH и безопасно подключиться к серверу VNC.
Virtual Network Computing (VNC) — это графическая система совместного использования рабочего стола, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером.
Прежде чем продолжить
Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка среды рабочего стола
Скорее всего, на вашем сервере Debian не будет установлена среда рабочего стола. Наш первый шаг — установить легкую среду рабочего стола.
В репозиториях Debian доступно несколько окружений рабочего стола (DE). Мы будем использовать Xfce в качестве предпочтительной среды рабочего стола. Он быстрый, стабильный и легкий, что делает его идеальным для использования на удаленном сервере.
Обновите индекс пакетов и установите Xfce на свой сервер Debian с помощью следующих команд:
В зависимости от вашей системы загрузка и установка пакетов Xfce может занять некоторое время.
Установка VNC-сервера
В репозиториях Debian также есть несколько различных серверов VNC, таких как TightVNC , TigerVNC и x11vnc . Каждый сервер VNC имеет свои сильные и слабые стороны с точки зрения скорости и безопасности.
Мы будем использовать TigerVNC, который является активно поддерживаемым высокопроизводительным сервером VNC. Чтобы установить TigerVNC на ваш сервер Debian, выполните следующую команду:
После установки сервера VNC запустите vncserver команду, чтобы создать начальную конфигурацию и установить пароль. Не используйте sudo при выполнении следующей команды:
Вам будет предложено ввести и подтвердить пароль, а также указать, следует ли установить его как пароль только для просмотра. Если вы решите установить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.
Когда вы запускаете vncserver команду в первый раз, она создаст и сохранит файл паролей в
Обратите внимание на :1 после имени хоста в выходных данных выше. Это указывает номер порта дисплея, на котором работает сервер vnc. В нашем случае сервер работает на TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр, vncserver он будет работать на следующем свободном порту, т.е. :2 это означает, что сервер работает на порту 5902 (5900 + 2).
Важно отметить, что при работе с серверами VNC :X порт дисплея ссылается на 5900+X .
Прежде чем перейти к следующему шагу, остановите экземпляр VNC, используя vncserver команду с -kill параметром и номером сервера в качестве аргумента. В этом случае сервер работает через порт 5901 ( :1 ), поэтому мы остановим его с помощью:
Настройка VNC-сервера
Теперь, когда на машине установлены и Xfce, и TigerVNC, нам нужно настроить TigerVNC для использования Xfce. Для этого создайте следующий файл:
/.vnc/xstartup файла также должны быть разрешения на выполнение. Выполните следующую chmod команду, чтобы убедиться, что разрешения верны:
Если вам нужно передать дополнительные параметры серверу VNC, вы можете создать файл с именем config и добавить по одному параметру в каждой строке. Вот пример:
Создание файла модуля Systemd
Файл модуля systemd позволит нам легко запускать, останавливать и перезапускать службу VNC по мере необходимости.
Откройте текстовый редактор, скопируйте и вставьте в него следующую конфигурацию. Не забудьте изменить имя пользователя в строке 7, чтобы оно соответствовало вашему имени пользователя.
Сохраните и закройте файл.
Сообщите systemd о существовании нового vncserver@.service файла , выполнив следующую команду:
Затем включите службу:
Число 1 после @ знака определяет порт дисплея, на котором будет работать служба VNC. Как мы обсуждали в предыдущем разделе, поскольку мы используем 1 сервер VNC, он будет прослушивать порт 5901 .
Запустите службу VNC, выполнив:
Убедитесь, что служба успешно запущена:
Подключение к VNC-серверу
VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход — создать туннель SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера на порт 5901 на сервер на том же порту.
Настройка SSH-туннелирования в Linux и macOS
Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель SSH с помощью ssh команды:
Вам будет предложено ввести пароль пользователя.
Не забудьте заменить username и server_ip_address своим именем пользователя и IP-адресом вашего сервера.
Настроить SSH-туннелирование в Windows
Если вы используете Windows, вы можете настроить SSH-туннелирование с помощью SSH-клиента PuTTY .
Откройте Putty и введите IP-адрес вашего сервера в Host name or IP address поле.
В Connection меню разверните SSH и выберите Tunnels . Введите порт сервера VNC ( 5901 ) в Source Port поле, введите его server_ip_address:5901 в Destination поле и нажмите Add кнопку, как показано на изображении ниже:
Вернитесь на Session страницу, чтобы сохранить настройки, чтобы не вводить их каждый раз. Теперь все, что вам нужно сделать, это выбрать сохраненный сеанс и войти на удаленный сервер, нажав Open кнопку.
Подключение с помощью Vncviewer
Теперь, когда вы настроили SSH-туннелирование, пора открыть Vncviewer и подключиться к VNC Server по адресу localhost:5901 .
Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .
В этом примере мы будем использовать TigerVNC. Откройте программу просмотра VNC, войдите localhost:5901 и нажмите Connect кнопку.
При появлении запроса введите свой пароль, и вы должны увидеть рабочий стол Xfce по умолчанию. Это должно выглядеть примерно так:
На этом этапе вы успешно подключились к своему серверу через VNC. Теперь вы можете начать взаимодействие с удаленным рабочим столом XFCE со своего локального компьютера, используя клавиатуру и мышь.
Заключение
К настоящему времени у вас должен быть запущен и запущен VNC-сервер, и вы можете легко управлять своим сервером Debian 9 с локального компьютера с помощью графического интерфейса.
Чтобы настроить сервер VNC для запуска отображения для более чем одного пользователя, создайте начальную конфигурацию и установите пароль с помощью vncserver команды. Вам также потребуется создать новый служебный файл, используя другой порт.
Источник
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 в Ubuntu 18.04
В этом руководстве описаны действия, необходимые для установки и настройки VNC-сервера в Ubuntu 18.04. Мы также покажем вам, как безопасно подключиться к серверу VNC через туннель SSH.
Virtual Network Computing (VNC) — это графическая система совместного использования рабочего стола, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером. Это альтернатива с открытым исходным кодом протоколу удаленного рабочего стола Microsoft (RDP).
Подготовка
Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка среды рабочего стола
На большинстве серверов не установлена среда рабочего стола, поэтому мы начнем с установки облегченной среды рабочего стола.
В репозиториях Ubuntu доступно несколько окружений рабочего стола (DE). Мы будем устанавливать Xfce . Это быстрая, стабильная и легкая среда рабочего стола, что делает ее идеальной для использования на удаленном сервере.
Введите следующие команды для установки Xfce на ваш сервер:
В зависимости от вашей системы загрузка и установка пакетов Xfce может занять некоторое время.
Установка VNC-сервера
Также в репозиториях Ubuntu доступно несколько различных серверов VNC, таких как TightVNC , TigerVNC и x11vnc . Каждый сервер VNC имеет свои сильные и слабые стороны с точки зрения скорости и безопасности.
Мы будем устанавливать TigerVNC. Это активно обслуживаемый высокопроизводительный сервер VNC.
Введите следующую команду, чтобы установить TigerVNC на свой сервер Ubuntu:
Теперь, когда VNC-сервер установлен, следующим шагом будет создание начальной конфигурации и установка пароля. Не используйте sudo при запуске команды vncserver :
Вам будет предложено ввести и подтвердить пароль, а также указать, следует ли установить его как пароль только для просмотра. Если вы решите установить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.
При первом vncserver команды vncserver она создает и сохраняет файл паролей в
/.vnc . Этот каталог будет создан, если он отсутствует.
Обратите внимание на :1 после имени хоста в выходных данных выше. Это указывает номер порта дисплея, на котором работает сервер vnc. В нашем случае сервер работает на TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр с vncserver он будет работать на следующем свободном порту, например :2 , что означает, что сервер работает на порту 5902 (5900 + 2).
Важно помнить, что при работе с серверами VNC :X — это порт дисплея, который ссылается на 5900+X
Прежде чем перейти к следующему шагу, остановите экземпляр VNC с помощью команды vncserver с параметром -kill и номером сервера в качестве аргумента. В этом примере сервер работает на порту 5901 ( :1 ), поэтому мы остановим его с помощью:
Настройка VNC-сервера
Теперь, когда на сервере установлены и Xfce, и TigerVNC, нам нужно настроить TigerVNC для использования Xfce. Для этого создайте следующий файл:
Сохраните и закройте файл. Приведенные выше команды будут автоматически выполняться при каждом запуске или перезапуске сервера TigerVNC.
/.vnc/xstartup также должен иметь разрешения на выполнение. Выполните следующую команду chmod чтобы убедиться, что разрешения верны:
Если вам нужно передать дополнительные параметры серверу VNC, создайте файл с именем config и добавьте по одному параметру в каждой строке. Вот пример:
Создание файла модуля Systemd
Создайте файл модуля systemd, чтобы запускать, останавливать и перезапускать службу VNC по мере необходимости, как и любую другую службу systemd.
Откройте текстовый редактор, скопируйте и вставьте в него следующую конфигурацию. Обязательно измените имя пользователя в строке 7, чтобы оно соответствовало вашему имени пользователя.
Сохраните и закройте файл.
Сообщите systemd, что мы создали новый файл модуля с:
Следующим шагом является включение файла модуля с помощью следующей команды:
Число 1 после знака @ определяет порт дисплея, на котором будет работать служба VNC. Это означает, что сервер VNC будет прослушивать порт 5901 , как мы обсуждали в предыдущем разделе.
Запустите службу VNC, выполнив:
Убедитесь, что служба успешно запущена:
Подключение к VNC-серверу
VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход — создать туннель SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера на порт 5901 на сервер на том же порту.
Настроить SSH-туннелирование в Linux и macOS
Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель SSH с помощью следующей команды:
Вам будет предложено ввести пароль пользователя.
Не забудьте заменить username и server_ip_address своим именем пользователя и IP-адресом вашего сервера.
Настроить SSH-туннелирование в Windows
Если вы используете Windows, вы можете настроить SSH-туннелирование с помощью SSH-клиента PuTTY .
Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address .
В меню « Connection разверните SSH и выберите « Tunnels . Введите порт сервера VNC ( 5901 ) в поле Source Port и введите server_ip_address:5901 в поле Destination и нажмите кнопку Add , как показано на изображении ниже:
Вернитесь на страницу Session чтобы сохранить настройки, чтобы не вводить их каждый раз. На удаленном сервере выберите сохраненный сеанс и нажмите кнопку « Open .
Подключение с помощью Vncviewer
Теперь, когда туннель SSH создан, пора открыть ваш Vncviewer и подключиться к VNC Server по адресу localhost:5901 .
Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .
Мы будем использовать TigerVNC. Откройте средство просмотра, введите localhost:5901 и нажмите кнопку « Connect .
При появлении запроса введите пароль пользователя , и вы должны увидеть рабочий стол Xfce по умолчанию. Это будет выглядеть примерно так:
Вы можете начать взаимодействие с удаленным рабочим столом XFCE со своего локального компьютера, используя клавиатуру и мышь.
Выводы
К настоящему времени у вас должен быть запущен и запущен VNC-сервер, и вы можете легко управлять своим сервером Ubuntu 18.04 с локального настольного компьютера, используя простой в использовании графический интерфейс.
Чтобы настроить сервер VNC для запуска отображения для нескольких пользователей, создайте начальную конфигурацию и установите пароль с помощью команды vncserver . Вам также необходимо будет создать новый служебный файл, используя другой порт.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник