Меню Рубрики

Установка vnc server для linux

Установка VNC Server в Ubuntu 18.04

VNC или Virtual Network Computing — это одна из самых популярных технологий удаленного доступа к рабочему столу, которая используется в Linux. Ранее очень часто для доступа к удаленному рабочему столу в Linux использовался VNC сервер x11vnc, но после перехода Ubuntu на Wayland настройка X11vnc стала сложной. Но у него есть несколько альтернатив, например, TigerVNC, который мы сегодня рассмотрим.

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

Установка VNC Server на Ubuntu 18.04

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

Чтобы установить VNC server в Ubuntu выполните такую команду:

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Также необходимо установить эмулятор терминала xterm, его программа будет использовать для запуска тестового окружения:

Для запуска сервера используется команда vncserver. Её синтаксис очень прост:

vncserver порт: номер_дисплея опции

  • -dry-run — тестовый запуск, не выполнять никаких реальных действий;
  • -verbose — включить более подробный вывод;
  • -useold — запустить VNC сервер только если он ещё не запущен;
  • -cleanstale — очистить оставшиеся файлы после предыдущего запуска;
  • -localhost — разрешить подключения только с локального компьютера;
  • -name — имя VNC сервера, которое будет отображаться при подключении, по умолчанию используется host:display# (username);
  • -geometry — разрешение экрана для запускаемого окружения, например, 1024×768;
  • -depth — глубина цвета, доступны значения: 8, 15, 16 и 24;
  • -fg — не запускать сервис в фоновом режиме и оставить его привязанным к терминалу;
  • -autokill — автоматически останавливать сервер после завершения подключения;
  • -xstartup — программа, которую следует использовать вместо оболочки;
  • -list — список запущенных серверов;
  • -kill — завершить запущенный vnc сервер.

Теперь можно попытаться запустить VNC Server:

vncserver -xstartup /usr/bin/xterm

При первом запуске утилита предложит вам ввести пароль, который можно будет использовать для подключения к компьютеру, а также ввести пароль для подключения в режиме только просмотр. Последнее можно пропустить. Обратите внимание, что утилиту необходимо запускать от имени обычного пользователя, а не суперпользователя.

Утилита не только создаст конфигурацию, но и запустит VNC сервер. Посмотреть список запущенных серверов можно командой:

Чтобы завершить запущенный VNC сервер используйте опцию kill и идентификатор дисплея, на котором запущен сервер из предыдущей команды:

Мы запускали TigerVNC с рабочем окружением в виде терминала, но теперь нам необходимо полноценное рабочее окружение Gnome. Чтобы его настроить создайте файл

/.vnc/xstartup со следующим содержимым:

#!/bin/sh
dbus-launch —exit-with-session gnome-session &

Это скрипт, который запускает рабочее окружение Gnome, вы также можете запускать и другие окружения. Теперь запущенный VNC сервер появится в списке доступных серверов и вы можете к нему подключиться.

Чтобы показать использование других опций давайте запустим vncserver на четвертом виртуальном дисплее с разрешением экрана 1024×768:

vncserver :1 -geometry 1024×768

Подключение к VNC серверу

Во-первых, на локальной машине вы можете подключиться к только что запущенному VNC серверу с помощью команды, которую предлагает сам сервер после запуска:

vncviewer -SecurityTypes VncAuth -passwd /home/sergiy/.vnc/passwd :1

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

Также можно запустить vncviewer Ubuntu без параметров, тогда утилита откроет графический интерфейс, где вам нужно ввести ip адрес машины, на которой запущен сервер, а также номер дисплея или порта:

После этого нужно ввести пароль для подключения и откроется это же окно удаленного соединения:

Выводы

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

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

6 комментариев

Это все для Х-сессии. А есть ли способ поднять VNC-сервер в wayland.
Потому как для Х-сессий гораздо проще настроить VINO.

Как то раз имел дело с vino-preferences удобная и очень простая штука, т.к. мне нужно было управлять сессией текущего пользователя

Следующие пакеты имеют неудовлетворённые зависимости:
tigervnc-xorg-extension : Зависит: xserver-xorg-core (>= 2:1.7.7)

Я бы еще добавил команду -localhost no иначе сервер будет слушать только localhost и удаленно зайти не получиться, не смотря на то что сервер работает:
vncserver -localhost no :1 -geometry 1024×768

Читайте также:  Установка автосигнализации в белореченске

Еще бы добавил такое, что после перезагрузки перестает работать мышь и клавиатура.
Что бы этого избежать заранее или после перезагрузки уже по ssh подключившись, дать команду
#apt install xserver-xorg-input-all

источник

Установка VNC сервера, и настройка его работы поверх SSH


Да, отчего-то не все клиенты хотят работать в таком удобном и черном терминале, панель полностью не удовлетворяет их эстетические потребности, и вообще — «где мой такой любимый и удобный VNC?».
вопрос привычки и вкуса

В данной статье будет рассмотрен пример установки и настройки VNC server и графической оболочки (GUI) на примере OC Debian 8 jessie.

Вводная: на руках имеется чистый Debian 8 и жгучее желание получить на выходе защищенный vnc-доступ к серверу.

Приступим

Обновим список доступных пакетов.

Если система свежеустановленная — стоит обновиться.

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

Устанавливаем Xfce и VNC server (любители GNOME, KDE, LXDE, etc. устанавливают оболочку по своему вкусу).

Создаем пользователя от которого будем запускать vnc сервер.

Устанавливаем sudo (в Debian данный пакет не установлен по умолчанию).

Добавляем пользователя vnc в группу sudo.

Переходим под пользователя vnc.

Если это первый запуск vnc сервера, будет создан конфиг файл и запрошены некоторые параметры:

по умолчанию порт vnc сервера будет 5901, порт каждого следующего дисплея будет увеличиваться на 1 (5902,5903. ).

Проверить запущен ли VNC сервер и на каком порту слушает можно следующей командой.

Убить конкретный дисплей можно так:

:1 — какой дисплей нужно убить.

Создание скрипта автостарта vnc сервера.

Сначала убьем запущенный дисплей :1 (если он запущен).

Добавляем следующие строки в файл:

если требуется — в скрипте можно изменить глубину цвета или разрешение экрана.

использование созданного нами скрипта:

Теперь нужно позаботиться о том, чтобы настроенный нами vnc стартовал после загрузки сервера (запланированной и не очень).
Для этого создаем файл по следующему пути.

Добавляем следующий текст в файл:

[Unit] — указываем описание скрипта (так же можно указать требуемые зависимости и порядок запуска при загрузке).
[Service] — указываем какими командами запускать сервис, под каким пользователем, и тип сервиса.
[Install] — указываем на каком уровне должен запускаться скрипт (runlevel 3 — многопользовательский режим без графики).

Включаем юнит в автозагрузку при старте системы.

Смотрим статус созданного нами юнита.

Дергаем systemd для поиска новых или измененных юнитов.

Шифрование трафика

Голый VNC не шифрует трафик, и оставлять его в таком виде не стоит.
Кроме того, если на Ваш IP выйдут боты из Китая и начнут стучатся по портам, даже если пароль установлен действительно качественный (учтите, что пароль на vnc сессию ограничен 8 символами) и его не взломают, попасть на сервер посредством VNC будет затруднительно, из-за постоянной ошибки на количество неверных попыток авторизации.

Using password file /home/vnc/.vnc/passwd

Warning: password truncated to the length of 8.

Would you like to enter a view-only password (y/n)? n

Пускаем VNC поверх SSH:

Теперь для подключения к серверу сначала нужно создать тунель.

Под *nix:

Теперь возможно подключение посредством vnc клиента, указав вместо IP удаленного сервера localhost и порт на котором слушает vnc-server.

При использовании Windows и putty агента:

После запуска putty переходим Connection -> SSH -> Tunnels.
В поле Source Port вбиваем порт на котором слушает VNC сервер — 5901, в поле Destination вписываем — localhost:5901 и жмем кнопку Add.
должно получиться как на картинке.

Теперь возвращаемся на вкладку Session вписываем IP сервера и порт 22 (тут же можно и сохранить конфигурацию подключения), жмем Open.

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

Установим и настроим fail2ban.
По умолчанию защита от брутфорса для SSH включена, что нам собственно и требуется.
при превышении заданного числа неудачных вводов пароля подряд (по умолчанию — 6) бан IP, с которого были попытки подбора на заданное время (по умолчанию — 600 секунд).

Устанавливаем пакет из репозитория.

Основной интересующий нас файл настроек находится по пути /etc/fail2ban/jail.conf

Блок настроек для подключения по ssh:

ignoreip — IP адреса, которые не должны быть заблокированы. Можно задать список IP адресов разделённых пробелами, маску подсети, или имя DNS сервера.

bantime — время бана в секундах, по истечении которого IP адрес удаляется из списка заблокированных.

maxretry — количество подозрительных совпадений, после которых применяется правило. В контексте ssh — это число неудавшихся попыток логина, после которых происходит блокировка.

enabled — значение true указывает что данный jail активен, false выключает действие изолятора.

Читайте также:  Установка колонок на ладу веста размер

port — указывает на каком порту или портах запущен целевой сервис. Стандартный порт SSH сервера — 22, или его буквенное наименование — ssh.

filter — имя фильтра с регулярными выражениями, по которым идёт поиск «подозрительных совпадений» в журналах сервиса. Фильтру sshd соответствует файл /etc/fail2ban/filter.d/sshd.conf.

logpath — путь к файлу журнала, который программа Fail2ban будет обрабатывать с помощью заданного ранее фильтра. Вся история удачных и неудачных входов в систему, в том числе и по SSH, по умолчанию записывается в log файл /var/log/auth.log.

Дефолтная настройка удовлетворяет наши требования (6 неверных попыток авторизации по shh и IP летит в бан на 600 секунд), но я бы советовал добавить свой IP в доверенный список.
Обидно будет ждать почти два часа, в случае шестикратной ошибки ввода пароля со своего IP (шанс данного кейса отнюдь не нулевой).

В строке ignoreip = 127.0.0.1/8, адрес 127.0.0.1/8 заменяем на свой IP.

Выходим из редактора nano (ctrl+x, отвечаем y на вопрос сохранения внесенных изменений).

Перегружаем сервис для применения изменений в правилах.

В случае срабатывания бана в логах fail2ban, можно заметить строку предупреждения:

И попытки подключения с данного адреса будут отбиваться сервером автоматически до истечения срока бана.

Готово, настройка VNC сервера завершена.

источник

Удаленный рабочий стол на Ubuntu

В статье рассказано о настройке возможности подключения к Ubuntu по удаленному рабочему столу (аналогично RDP в Windows). Примеры команд проверены на Linux Ubuntu 16.04 и 18.04.

Мы рассмотрим реализацию с помощью сервера VNC (подключиться к нашему компьютеру можно будет как с помощью клиента VNC, который доступен как для Linux, так и Windows). Также мы рассмотрим возможность использования клиента RDP из Windows, настроив xRDP.

Подготовка системы

Все действия описанные ниже мы будем выполнять с правами суперпользователя. Для этого переходим в режим sudo:

* по умолчанию, в Ubuntu не задан пароль от root и данная команда не сработает. В этом случае сначала задаем пароль руту — passwd root.

Если используется брандмауэр, добавляем правило:

iptables -A INPUT -p tcp —dport 5901 -j ACCEPT

* в данном примере, мы разрешаем входящие соединения на порту 5901. Для работы с несколькими портами, добавляем их по аналогии.

Установка и настройка VNC сервера

Рассмотрим два варианта использования графической оболочки — xfce и gnome.

Если используем XFCE

Установка

Установку выполняем следующей командой:

apt install xfce4 xfce4-goodies tightvncserver

Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:

. на запрос пароля вводим его дважды.

* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.

После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).

Настройка

Для начала, останавливаем экземпляр VNC сервера:

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

#!/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 сервера:

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

Настраиваем VNC сервер для текущего пользователя:

#!/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:

[Unit]
Description=VNC server
After=syslog.target network.target

[Service]
Type=forking
User=root
PAMName=login
P > ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1

Разрешаем автозапуск сервиса:

systemctl enable vncserver

Смена пароля

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

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

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

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

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

Читайте также:  Установка рации в соболь

xRDP для подключения из Windows

Если мы не хотим устанавливать на Windows никакого дополнительного программного обеспечения, а хотим использовать стандартное подключение к удаленному рабочему столу (mstsc), можно установить на Linux xRDP. Для этого вводим:

источник

Установка VNC-сервера в Ubuntu

Virtual Network Computing (VNC) представляет собой систему для обеспечения удаленного доступа к рабочему столу компьютера. Через сеть передается изображение экрана, осуществляются нажатия кнопок мыши и клавиш на клавиатуре. В операционной системе Ubuntu упомянутая система устанавливается через официальный репозиторий, а уже потом происходит процедура поверхностной и детальной настройки.

Устанавливаем VNC-сервер в Ubuntu

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

Шаг 1: Установка необходимых компонентов

Как уже было сказано ранее, использовать мы будем официальное хранилище. Там находится самая свежая и стабильная версия VNC-сервера. Все действия производятся через консоль, потому начать стоит с ее запуска.

  1. Перейдите в меню и откройте «Терминал». Существует горячая клавиша Ctrl + Alt + T, которая позволяет сделать это быстрее.

Установите обновления для всех системных библиотек через sudo apt-get update .

Введите пароль для предоставления рут-доступа.

Подтвердите добавление новых файлов в систему.

Ожидайте завершения инсталляции и добавления до появления новой строки ввода.

Теперь в Ubuntu присутствуют все необходимые компоненты, осталось только проверить их работу и провести настройку перед запуском удаленного рабочего стола.

Шаг 2: Первый запуск VNC-server

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

    В консоли напишите команду vncserver , отвечающую за запуск сервера.

Вам будет предложено задать пароль для своих рабочих столов. Здесь надо ввести любую комбинацию символов, но не менее пяти. При наборе символы отображаться не будут.

Подтвердите пароль, введя его повторно.

Вы будете уведомлены о том, что создан стартовый скрипт и новый виртуальный десктоп начал свою работу.

Шаг 3: Настройка VNC-сервера для полноценного функционирования

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

    Сначала завершите запущенный десктоп командой vncserver -kill :1 .

Далее стоит запустить файл конфигурации через встроенный текстовый редактор. Для этого введите nano

Убедитесь, что файл имеет все строки, указанные ниже.

#!/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 &
nautilus &

Если вы совершили какие-либо изменения, сохраните настройки нажатием клавиши Ctrl + O.

Выйти из файла можно нажатием на Ctrl + X.

Кроме всего, следует также пробросить порты, чтобы предоставить удаленный доступ. Поможет осуществить эту задачу команда iptables -A INPUT -p tcp —dport 5901 -j ACCEPT .

После ее введения сохраните настройки, прописав iptables-save .

Шаг 4: Проверка работы VNC-сервера

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

    Сначала потребуется запустить сам сервер путем ввода vncserver .

Убедитесь в том, что процесс прошел корректно.

Приступайте к добавлению приложения Remmina из пользовательского репозитория. Для этого надо напечатать в консоли sudo apt-add-repository ppa:remmina-ppa-team/remmina-next .

Нажмите на Enter для добавления новых пакетов в систему.

По завершении установки требуется обновить системные библиотеки sudo apt update .

Теперь осталось только собрать последнюю версию программы через команду sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret .

Подтвердите операцию по инсталляции новых файлов.

Запустить Remmina можно через меню, нажав на соответствующий значок.

Здесь осталось только выбрать технологию VNC, прописать нужный IP-адрес и подключиться к десктопу.

Конечно, для подключения таким образом пользователю нужно знать внешний IP-адрес второго компьютера. Для определения этого существуют специальные онлайн-сервисы или дополнительные утилиты, добавляемые в Ubuntu. Детальную информацию по этой теме вы найдете в официальной документации от разработчиков ОС.

Теперь вы ознакомлены со всеми основными действиями, которые требуется выполнить для установки и настройки VNC-сервера под дистрибутив Ubuntu на оболочке Gnome.

Отблагодарите автора, поделитесь статьей в социальных сетях.

источник

Добавить комментарий

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