• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

Spice протокол для Proxmox

Продолжим наш цикл статей посвященный удаленной работе рассказом про встроенные возможности популярного менеджера управления виртуализацией Proxmox VE.
Безусловно доступ к виртуальным машинам должен осуществляться средствами гостевой ОС, что обеспечивает безопасность для хостовой машины на которой установлен гипервизор. Но иногда возникает необходимость работы с виртуальной машиной, внешний доступ к которой не предусмотрен, или во время настройки. Особенно это актуально для рабочих станций с графическим интерфейсом.

На данный момент Proxmox VE предоставляет следующие средства:

  • Консоль noVNC - основана на HTML5, требует последние версии браузеров и не нуждается в модулях Java;
  • XtermJS - консоль на основе Java;
  • SPICE - интегрирован в кластерную среду, систему пользователей и аутентификации и, конечно же, весь трафик полностью зашифрован.

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

Настройка Spice

Выбор дисплея используемой консоли определяется в процессе создания VPS или LXC. Протокол является открытым состоит из клиентской и серверной части. В процессе взаимодействия так же учавствует гипервизор.

SPICE сервер использует библиотеку libspice. Proxmox пока что основной пользователь этой библиотеки в среде виртуализации QEMU.

SPICE клиент - это программы, которые используют протокол SPICE. Безопасность обеспечивается генерацией сервером временного CSRF токен файла , который открывается на клиенте. Простой вариант получения файла доступен через веб интерфейс Proxmox VE клавиша «Консоль» - «Spice».

На клиенте нужно установить remote-viewer из пакета virt-viewer. Сейчас доступны версии для загрузки под Linux, Windows, OS X и другие платформы.

Прежде чем подключиться по протоколу Spice нужно указать в настройках VM видеокарту или изменить ее в настройках. Сделать это можно в меню VPS -> Оборудование -> Дисплей -> Spice.

Выбираем в настройках VM видеокарту

Изменяем VM видеокарту в настройках.

Среди вариантов типов дисплея выберите Spice dual monitor, он как раз и обеспечивает режим мульти дисплеев. Пока для VM не будет установлен дисплей типа spice он не будет доступен.

Выбор дисплея  Spice dual monitor

Шаринг каталогов при помощи Spice

Для возможности работы проброса папок из VPS на базе Windows в параметрах опцию «Spice Enhancement» требуется установить в «Folder Sharing». Это позволит клиентам предоставить общий доступ к папкам.

Если ОС на сервере из cемейства Windows требуется установить следующие пакеты:

Установка пакетов для Windows

Настройка нескольких мониторов

На VPS симейства Linux для полноценной поддержки spice dual monitors, должны быть установлены SPICE vdagent и x.org QXL video driver.

К примеру у Ubuntu 20

$ sudo apt-get install spice-vdagent xserver-xorg-video-qxl-hwe-18.04

$ sudo systemctl enable spice-vdagentd
$ sudo systemctl start spice-vdagentd

Настройка клиентов под OS Linux

Пакет virt-manager доступен для следующих дистрибутивов :

Fedora: # yum install virt-manager;

Debian: # apt-get install virt-manager;

Gentoo: # emerge virt-manager;

OpenBSD: # pkg_add virt-manager.

Есть возможность сборки программного обеспечения из исходного кода github.

Автоматическое получение SPICE-токена

Для клиентов linux для получения SPICE-токена можно использовать API Proxmox VE. Это можно сделать написав небольшой Shel скрипт. Сценарий заключается в том, что по установленным параметрам соединения с нашим гипервизором сначала получаем «авторизационный тикет» от API, а затем получаем сгенерированный CSRF токен файл для вьювера.

Исходный код shell скрипта https://gitlab.com/snippets/32412

Формат запуска скрипта

$./spice.sh -u user@pam -p password 101 dns_name_or_ip_proxmox

После запуска на экране автоматически откроется окно консоли/рабочего стола вашей виртуальной машины. Для безопасности рекомендуем не указывать пароль доступа.

Для безопасности не указываем пароль доступа.

Основные возможности SPICE-клиента

Меню «Файл» - дополнительные настройки просмотра.

Меню «Просмотр» - задание масштаба отображения рабочего стола и возможность переключиться в полный экран. Также в этом меню можно активировать дополнительные дисплеи если установлен spice dual monitor.

Меню «Отправить клавишу» - позволяет отправлять различные комбинации в окно viewera.

Освободить курсор «мышки» через комбинацию — Ctrl+Alt+R.

Удаленный экран

Два дисплея в виде отдельных окон между которыми действует функционал перетаскивания.

Режим двух дисплеев

В меню настройки консоли Remote Viewer можно указать какую папку вы монтируете в VPS и настройки совместного доступа к ней.

Установка доступа к папке

Работа по протоколу Spice для клиентов под Microsoft Windows

Windows 32 битная

https://virt-manager.org/download/sources/virt-viewer/virt-viewer-x86-9.0.msi

Windows 64 битная

https://virt-manager.org/download/sources/virt-viewer/virt-viewer-x64-9.0.msi

Для клиентов семейства Windows требуется чтобы внутри вашей VPS поддерживались драйвера видеокарты VirtiO, QXL. На данный момент операционные системы Windows 7/8/10 и Windows 2012/2016 полностью поддерживаются.

Функционал проброса папки в VPS семейства Windows работает пока только для клиентов под Linux.

Выводы

SPICE удобный, безопасный инструмент. Его можно использовать для доступа и работы с удаленным сервером, когда стандартные средства, такие как SSH или RDP не доступны. Безопасность передачи данных, возможность использовать графический интерфейс, мышь и клавиатуру, несколько дисплеев, выгодно выделяют SPICE среди других инструментов удаленной работы. Его можно использовать для повседневной работы с удаленным сервером, например во время для разработки программного обеспечения или просто для набора документов. Кстати именно Spice используют наши разработчики.

Приглашаем Вас протестировать Spice на наших виртуальных серверах.

 

Дата: 27.11.2020
Автор: Сергей
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA