|
При подключении к пользовательской сессии с использованием Vino экран этой сессии не блокируется. Такое подключения может быть использовано для работы удаленного помощника, когда пользователь контролирует доступ к компьютеру, но недопустимо для удаленной работы пользователей. Для удаленной работы пользователей следует использовать удаленный доступ к Astra Linux по протоколу RDP с использованием fly-dm. После установки пакета vino и перезапуска пользовательской сессии доступ к сессии предоставляется автоматически, при этом не требуется ввод пароля. При использовании защиты паролем следует помнить, что протокол VNC ограничивает длину пароля восемью символами. |
Порядок установки и запуска серверного и клиентского приложений описан ниже.
Серверное приложение Vino может быть установлено из основного репозитория:
| sudo apt install vino libglib2.0-bin |
Сразу после установки серверное приложение может быт запущено в текущей пользовательской сессии, после чего к этой сессии будет предоставлен удаленный доступ:
| /usr/lib/vino/vino-server |
| Если не запретить автозапуск, то серверное приложение будет запускаться автоматически при каждом новом входе в графическую сессию любого пользователя, что небезопасно, так как по умолчанию подключение разрешается без пароля. |
По умолчанию серверное приложение прослушивает IP-порт 5900 протоколов IPv4 и IPv6. При запуске серверного приложения для нескольких пользователей для прослушивания выбирается следующий свободный IP-порт (5901, 5902 и т.д.). При этом подключение возможно к неактивной графической сессии, однако при неактивности сессии отображается только черный экран.
По умолчанию серверное приложение запускается автоматически при входе в пользовательскую сессию. Если автоматический запуск отключен, то серверное приложение может быть запущено:
| DISPLAY=:0 /usr/lib/vino/vino-server |
sudo -u <имя_пользователя> DISPLAY=:0 /usr/lib/vino/vino-server |
echo $DISPLAY |
Для запрета автоматического запуска для всех пользователей удалить файл /etc/xdg/autostart/vino-server.desktop:
| sudo rm /etc/xdg/autostart/vino-server.desktop |
Для удаления запущенных серверных служб:
| sudo pkill vino-server |
Для того, чтобы служба vnc запрашивала пароль при подключении клиентской машины задать пароль выполнив команды:
gsettings set org.gnome.Vino authentication-methods "['vnc']" |
Для настройки приложения можно использовать инструмент gsettings (предоставляется пакетом libglib2.0-bin).
Получить список доступных параметров:
| gsettings list-keys org.gnome.Vino |
Значения параметров:
| Параметр | Допустимые значения | Значение по умолчанию | Комментарий |
|---|---|---|---|
| alternative-port | Номер порта | 5900 | Номер IP-порта, прослушиваемого службой |
| authentication-methods | none/vnc | none | При значении none аутентификация не требуется. Значение vnc включает аутентификацию по паролю |
| disable-background | true/false | false | Отключать показ изображения рабочего стола, когда удаленный пользователь берет управление |
| disable-xdamage | true/false | false | Отключать расширение Xdamage для X.org |
| enabled | true/false | true | Разрешить работу серверной службы |
| icon-visibility | always/client/never | client | Отображать значок удаленного подключения:
Значок отображается в системном трее в правом нижнем углу экрана. |
| lock-screen-on-disconnect | true/false | false | Блокировать экран при отключении удаленного соединения |
| mailto | Адрес электронной почты | пусто | Не используется |
| network-interface | Имя сетевого интерфейса | пусто | Имя сетевого интерфейса, через который будет осуществляться подключения, например, eth0 |
| notify-on-connect | true/false | true | Отображение уведомления о том, что подключился удаленный пользователь. Для обеспечения безопасности рекомендуется использовать значение true |
| prompt-enabled | true/false | false | Запрашивать разрешение на подключение. Для обеспечения безопасности рекомендуется использовать значение true |
| require-encryption | true/false | false | Использовать защитное преобразование передаваемых данных. Для защиты передаваемых данных рекомендуется использовать защищенный канал SSH, см. далее. |
| use-alternative-port | true/false | false | Использовать значение параметра alternative-port для выбора IP-порта |
| use-upnp | true/false | false | Создавать запрос маршрутизатору для открытия используемого IP-порта |
| view-only | true/false | false | Предоставлять доступ только для чтения без возможности управления |
| vnc-password | пароль | пусто | Пароль для аутентификации. Пароль хранится в формате base64. |
Получить значение параметра:
| gsettings get org.gnome.Vino vnc-password <имя_параметра> |
Установить значение параметра:
| gsettings set org.gnome.Vino vnc-password <имя_параметра> <значение> |
Изменения значений параметров применяются автоматически.
Клиентское приложение для подключения к Vino может быть установлено из основного репозитория:
| sudo apt install tigervnc-viewer |
Для подключения к удаленной пользовательской сессии выполнить команду:
| vncviewer -ViewOnly=0 -DotWhenNoCursor=1 имя_адрес_хоста |
Подробно параметры клиентского приложения описаны в справочной системе man:
| man vncviewer |
Для защиты данных, передаваемых между сервером и клиентом VNC, можно использовать встроенные средства SSH. Для этого на сервере устанавливается и запускается серверная служба SSH.
Для создания защищенного SSH-соединения с сервером выполнить команду на клиентской машине:
| ssh -L 5901:localhost:5900 user@server |
Где:
После этого подключение к VNC на сервере можно будет выполнять через локальный IP-порт клиента, например, выполнив команду на клиенте:
| vncviewer -ViewOnly=0 -DotWhenNoCursor=1 localhost:5901 |