Установка и настройка¶
Важно
Перед началом работ необходимо произвести настройку окружения. Все команды данного раздела выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Установка¶
Для Linux¶
Внимание
Имеется поддержка аутентификации пользователя с использованием смарт-карты. Подробнее тут.
Важно
Для корректной работы функционала перенаправления USB-устройств необходимо выполнить дополнительную настройку.
Важно
При переходе с версии клиента 2.6, 2.7 или 2.8 на версию 2.8.3, необходимо удалить каталог ${HOME}/.tionix-vdi-client
с параметрами клиента, иначе возникнет проблема с запуском xfreerdp
.
DEB-пакет¶
Подключите в системный каталог
/etc/apt/sources.list
репозиторий с DEB-пакетами:deb [trusted=yes] http://deb-repo.tionix.ru/stable tionix x.x
Где: x.x - номер необходимой версии клиента.
Подсказка
Для установки последней разрабатываемой версии модуля укажите репозиторий:
deb [trusted=yes] http://deb-repo.tionix.ru/release tionix-rc x.x
Где: x.x - номер необходимой версии клиента.
Обновите список репозиториев:
apt-get update
Установите модуль TIONIX.VDIclient:
apt install tionix-vdi-client
Для Windows¶
Установка VDI клиента при помощи установщика¶
Перейдите по сcылкe в репозиторий с дистрибутивами клиента.
Выберите совместимую с операционной системой версию клиента:
Перейдите в каталог с выбранной версией:
Скачайте и запустите установочную программу
TIONIX.VDIclient.3.0.0x64.Setup.exe
.Выберите язык установки:
Ознакомьтесь с программным продуктом:
Выберите директорию для установки:
Выберите папку в меню «Пуск»:
Подтвердите параметры установки:
После успешной установки в окне завершения по умолчанию установлен флаг запуска программы:
Установите необходимое значение и завершите установку кнопкой «Завершить».
Запуск VDI клиента без процедуры установки¶
Для запуска клиента без установки необходимо лишь распаковать архив с программой в необходимую директорию.
Перейдите по ссылкe в репозиторий с дистрибутивами клиента.
Выберите совместимую с операционной системой версию клиента:
Перейдите в каталог с выбранной версией:
Скачайте и распакуйте архив
TIONIX.VDIclient.1.30.0x64.zip
в необходимую директорию.Перейдите в директорию распакованного архива и запустите файл
tionix_vdi_client.exe
:
Подсказка
Также существует возможность для скачивания последней разрабатываемой версии модуля по ссылке.
Для MacOS¶
Перейдите на страницу «Расположение пакетов модулей TIONIX» и выберите репозиторий с необходимой версией клиента.
Скачайте и смонтируйте (двойной клик по имени файла) DMG образ клиента.
Скопируйте смонтируемое приложение в папку «Программы»/«Applications» на свой жесткий диск:
После этого можно демонтировать виртуальный диск (нажав треугольник напротив имени диска) и удалить DMG файл.
Настройка¶
Настройка окружения на Alt Linux p9¶
Для корректного запуска приложения необходимо добавить пользователя системы в группу fuse
:
usermod -a -G fuse user_name
Где: user_name
- имя пользователя в системе.
После чего нужно полностью перезапустить систему.
Настройка окружения на Astra Linux Смоленск 1.6¶
По умолчанию мандатная система доступа не позволяет запускать приложения, запускаемые с файловой системы, смонтированных через FUSE. Чтобы это исправить, в параметры ядра нужно добавить опцию parsec.enable_exec_on_fuse=1
. Откройте файл /etc/default/grub
и добавьте этот параметр в содержимое следующей переменной:
GRUB_CMDLINE_LINUX_DEFAULT="... parsec.enable_exec_on_fuse=1"
Далее необходимо обновить конфигурацию загрузчика GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
После чего нужно полностью перезапустить систему.
Файл конфигурации¶
При первом запуске TIONIX.VDIclient в домашней директории пользователя, в каталоге .tionix-vdi-client
создается конфигурационный файл client.conf
.
Некоторые параметры, представленные в конфигурационном файле также можно задать в окне «Настройки TIONIX.VDIclient». Конфигурационный файл представлен в conf
формате и состоит из следующих секций:
Параметр | Описание | Значение по умолчанию | Обязательность | Имеется ли возможность задать параметр в графическом интерфейсе |
---|---|---|---|---|
cloud |
Первичный адрес сервера. Параметр является обязательным. Необходимо вводить либо IP-адрес сервера, либо имя хоста. Например: localhost или 10.10.10.10 . При явном указании протокола HTTP и HTTPS подключение будет осуществляться по указанному протоколу в префиксе. Также существует возможность указания порта подключения, который необходимо указывать через : . Например: https://vdi.tionix.ru:8889 . |
Да | Да | |
ignore_domain |
Параметр, который игнорирует параметр domain_name при формировании rdp-файла, для подключения к гостевой операционной системе. |
Нет | Нет | |
secondary_cloud |
Вторичный адрес сервера. Используется для подключения в случае отсутствия ответа с первичного адреса. Необходимо вводить либо IP-адрес сервера, либо имя хоста. Например: localhost или 10.10.10.10 . При явном указании протокола HTTP и HTTPS подключение будет осуществляться по указанному протоколу в префиксе. Также существует возможность указания порта подключения, который необходимо указывать через : . Например: https://vdi.tionix.ru:8889 . |
Нет | Да | |
domain_name |
Имя домена. | default |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Да |
log_level |
Уровень логирования. Доступные значения:
Значения являются регистронезависимыми. Подробное описание параметров доступно в разделе Уровни логирования. |
INFO |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Да |
ssl_path |
Путь к файлу сертификата пользователя. При пустом значении используются сертификаты, которые установлены в системе или указаны в переменной окружения. Если в поле указан файл сертификата, то для подключения к серверу будет использоваться только он. | Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Да | |
log_file_location |
Путь до директории, в которой необходимо создать файл c логами. Лог файл создается в корневой папке клиента. | Нет | Нет | |
store_session |
Параметр, отвечающий за сохранение настроек подключения, флаг «Запомнить» в графическом интерфейсе. Доступные значения:
Значения являются регистронезависимыми. |
True |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
language |
Язык интерфейса графического клиента. Если этот параметр не указан, то берется локализация операционной системы, на которой запущен клиент. | Нет | Да | |
show_settings |
Изменение настройки отображения кнопки «Настройки»:
Значения являются регистронезависимыми. |
True |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
store_password |
Параметр, отвечающий за сохранение пароля в настройках. Не зависит от значения параметра
Значения являются регистронезависимыми. |
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
PYKCS11LIB |
Путь до файла libisbc_pkcs11_main.so , необходимого для работы со смарт-картами. При отсутствии поиск файла осуществляется в каталоге .tionix-vdi-client домашней директории пользователя и в текущем каталоге. |
Нет | Нет | |
SMARTCARD_OID |
Расширение EKU искомого сертификата должно содержать указанный OID. При отсутствии параметра фильтрация сертификатов по OID не выполняется. | Нет | Нет | |
ikecfg |
Параметр указывает IP-адрес клиента. Позволяет при необходимости передавать на сервер IP-адрес, отличающийся от текущего. Используется для создания правил группы безопасности передаваемой клиенту VDI машины. | Нет | Нет | |
additional_clouds |
Дополнительные адреса VDI сервера. Используется для подключения в случае отсутствия ответа с первичного и вторичного адреса. Необходимо вводить либо IP-адрес сервера, либо имя хоста через запятую. Например: localhost , 10.10.10.10 , myhost.tionix.loc . |
Нет | Нет | |
retries |
Количество повторных попыток подключения к серверам. Например:
|
2 |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
timeout |
Время ожидания перед следующей попыткой подключения в секундах. | 15 |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
contact_support_message_ru |
Настраиваемое сообщение для обращения к администратору на русском языке. Выводятся только первые 250 символов. | Обратитесь к системному администратору. |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
contact_support_message_en |
Настраиваемое сообщение для обращения к администратору на английском языке. Выводятся только первые 250 символов. | Please contact system administrator. |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
get_vm_timeout |
Время ожидания перед следующей попыткой получения статуса задачи на получение VDI машины (get-vm) в секундах. Значение должно быть целым числом больше или равно 0. | 5 |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
command_log_file_size |
Максимальный размер файла логирования в мегабайтах. | 10 |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
command_log_file_count |
Максимальное количество файлов логирования. | 10 |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
web_guard |
Включение поддержки WebGuard. Доступные значения:
|
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
use_cert |
Включение аутентификации по клиентскому сертификату. Доступные значения:
|
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
cert |
Путь к файлу сертификата пользователя. | Нет | Нет | |
key |
Путь к файлу приватного ключа пользователя. | Нет | Нет | |
identity_url |
Адрес службы Keystone, используется для аутентификации по клиентскому сертификату. Для указания нескольких адресов используйте запятую в качестве разделителя. | Нет | Нет | |
minimize_to_tray |
Параметр, отвечающий за сворачивание окна в системный трей после подключения к виртуальной машине. | False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
silent |
Параметр, отвечающий за отображение сообщений от клиента удаленного доступа при ошибке подключения к виртуальной машине. Доступные значения:
Значения являются регистронезависимыми. |
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
spice_debug |
Параметр, отвечающий за подробный режим логирования при подключении к сессии по протоколу SPICE. Доступные значения:
Значения являются регистронезависимыми. |
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
default_connect |
Указывает идентификатор сессии, к которой будет совершаться автоматическое подключение после авторизации в клиенте. | Нет | Да | |
xfreerdp_allow_self_signed_cert |
Параметр, отвечающий за автоматическое принятие SSL сертификата при подключении к сессии по протоколу RDP для Linux версии клиента. Доступные значения:
Значения являются регистронезависимыми. |
True |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
Дополнительные параметры:
Параметр | Описание | Значение по умолчанию | Обязательность | Имеется ли возможность задать параметр в графическом интерфейсе |
---|---|---|---|---|
password_generation |
Параметр, отвечающий за генерацию случайного пароля при его смене и проверке пароля на соответствие правилам безопасности. Допустимые значения:
Значения являются регистронезависимыми. |
False |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
use_smartcard |
Параметр, отвечающий за использование смарт-карты. Доступные значения:
Значения являются регистронезависимыми. |
True |
Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. | Нет |
Примеры конфигурационных файлов¶
Для Windows:
[DEFAULT]
cloud = main.tionix.ru
ignore_domain = False
secondary_cloud = 10.10.10.13
domain_name = default
log_level = DEBUG
default_connect =
log_file_location = %USERPROFILE%\.tionix-vdi-client\
store_session = False
language = ru
show_settings = True
pykcs11lib =
smartcard_oid =
ikecfg =
additional_clouds =
retries = 2
timeout = 15
use_smartcard = False
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False
Для Linux:
[DEFAULT]
cloud = main.tionix.ru
ignore_domain = False
secondary_cloud = 10.10.10.13
domain_name = default
log_level = INFO
default_connect =
log_file_location = $HOME/.tionix-vdi-client/
store_session = False
language = ru
show_settings = True
pykcs11lib = /usr/lib64/libisbc_pkcs11_main.so
SMARTCARD_OID = 1.3.6.1.4.1.311.20.2.2
ikecfg =
additional_clouds = slave.tionix.ru, 10.10.10.14
retries = -1
timeout = 15
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False
Для macOS:
[DEFAULT]
cloud = 10.10.10.10
ignore_domain = False
secondary_cloud =
domain_name = default
log_level = INFO
log_file_location =
store_session = True
store_password = False
language = en
show_settings = True
pykcs11lib =
smartcard_oid =
ikecfg =
additional_clouds =
retries = 2
timeout = 15
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False
xfreerdp_allow_self_signed_cert = True
При первом запуске TIONIX.VDIclient в домашней директории пользователя, в каталоге .tionix-vdi-client
создается конфигурационный файл rdp.conf.sample
. В этом файле заданы базовые настройки для подключения по протоколу RDP, которые можно редактировать.
Настройка для работы перенаправления USB-устройств¶
Важно
Данная инструкция актуальна только для операционных систем Linux.
Для корректной работы функционала перенаправления USB-устройств по протоколу SPICE необходимо добавить пользователя виртуальной машины в Linux группу:
# CentOS, AlmaLinux
usermod -a -G plugdev username
# Alt Linux
usermod -a -G plugdev,fuse username
Где: username
- имя пользователя виртуальной машины, к которой осуществляется подключение.
После добавления пользователя в группу plugdev
необходимо выйти из графической сессии и снова в нее зайти.
Настройка для работы со смарт-картами¶
Авторизация по смарт-карте¶
Примечание
Работа со смарт-картой поддерживается только на операционных системах Linux.
Для того, чтобы модуль функционировал со смарт-картами, необходимо проделать следующие шаги:
Для низкоуровневой работы с картами установите пакет
opensc
, а такжеpcsc-lite
и его утилиты:yum install opensc yum install pcsc-lite
Загрузите и установите из репозитория последнюю версию EPEL:
rpm -Uvh epel-release*rpm
Установите пакет
pcsc-tools
:yum install pcsc-tools
Смарт-карты работают через API PKCS11 и PC/SC. Первоначально установите необходимые зависимости:
yum install libpcsclite-dev yum install pyOpenSSL
Установите пакет
pykcs11
для работы со смарт-картой через API PKCS11:pip install pykcs11
Установите
python-module-pyscard
для работы со смарт-картой через API PC/SC:yum install pyscard
Скачайте архив с библиотеками ESMART Token 4.2 (PKCS#11) для Linux. Его можно найти по сcылке.
После чего найдите в архиве файл
libisbc_pkcs11_main.so
и укажите путь до файла в параметреPYKCS11LIB
конфигурационного файла или задайте в качестве переменной окружения:export PYKCS11LIB="path to libisbc_pkcs11_main.so"
Для возможности работы со смарт-картой без прав суперпользователя выполните следующие команды:
sed -i "s/no/yes/" /usr/share/polkit-1/actions/org.debian.pcsc-lite.policy systemctl restart pcscd.socket
Для корректного отображения текста при перебросе графической среды X11 установите следующие пакеты:
yum install xorg-x11-fonts* yum install dejavu-lgc-sans-fonts
Перенаправление смарт-карты¶
Важно
Данный функционал носит экспериментальный характер и не обязателен для работы клиента. Также необходима дополнительная настройка гостевой ОС.
Примечание
Перенаправление смарт-карт поддерживается только по протоколу SPICE и операционных систем Linux.
Установка pcscd
¶
Служба pcscd занимается поиском и регистрацией CCID-устройств.
Установите
ccid
иpcscd
вместе с утилитами для получения данных о смарт-карте:Alt Linux p9:
apt-get -y install pcsc-lite pcsc-lite-ccid pcsc-tools
Ubuntu (все версии):
apt -y install libccid pcscd pcsc-tools
CentOS 7.x:
yum -y install pcsc-lite pcsc-lite-ccid pcsc-tools
AlmaLinux 8.4 и CentOS 8 Stream:
dnf -y install pcsc-lite pcsc-lite-ccid pcsc-tools
После установки нужно убедиться, что служба
pcscd
запущена и работает:systemctl status pcscd
Пример вывода:
● pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; vendor pres> Active: active (running) since Mon 2021-02-15 17:34:01 MSK; 6min ago Main PID: 1529 (pcscd) Tasks: 9 (limit: 24924) Memory: 5.3M CGroup: /system.slice/pcscd.service └─1529 /usr/sbin/pcscd --foreground --auto-exit Feb 15 17:34:01 localhost.localdomain systemd[1]: Started PC/SC Smart Card Daemon.
Если это не так, то запустите его и явно пропишите в автозагрузку:
systemctl start pcscdsystemctl enable pcscd
С помощью команды
pcsc_scan
получите информацию о CCID-устройстве и проверьте наличие смарт-карты:user@localhost ~]$ pcsc_scan PC/SC device scanner V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.8.8 Using reader plug'n play mechanism Scanning present readers... 0: Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID Interface] (1-0000:00:1d.7-5) 00 00 1: Aktiv Rutoken ECP 01 00 Tue Feb 16 16:24:27 2021 Reader 0: Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID Interface] (1-0000:00:1d.7-5) 00 00 Card state: Card removed, Reader 1: Aktiv Rutoken ECP 01 00 Card state: Card inserted, Shared Mode, ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1 ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1 + TS = 3B --> Direct Convention + T0 = 8B, Y(1): 1000, K: 11 (historical bytes) TD(1) = 01 --> Y(i+1) = 0000, Protocol T = 1 ----- + Historical bytes: 52 75 74 6F 6B 65 6E 20 44 53 20 Category indicator byte: 52 (proprietary format) + TCK = C1 (correct checksum) Possibly identified card (using /home/user/.cache/smartcard_list.txt): 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1 Aktiv Rutoken ECP https://www.rutoken.ru/products/all/rutoken-ecp/
Если
pcsc_scan
не выводит ничего, то убедитесь, что службаpcscd
запущена и не имеется никаких проблем в логе вывода службы в systemd.Примечание
Команда
pcsc_scan
сама не завершает работу, её следует закрыть через комбинацию Ctrl+C.
Установка драйвера PKCS11¶
Драйвер PKCS11 как правило является файлом формата so
, то есть является обычной библиотекой. Эту библиотеку необходимо предложить приложению, если необходим доступ к сохранённым в смарт-карту сертификатами.
Для Linux предлагается использовать пакеты типа RPM и DEB, но сами so
внутри технически заработают везде.
Загрузите файл RPM из официального сайта:
wget https://download.rutoken.ru/Rutoken/PKCS11Lib/2.0.11.0/Linux/x64/librtpkcs11ecp-2.0.11.0-1.x86_64.rpm
Далее этот пакет необходимо установить через
rpm
:rpm -ihv librtpkcs11ecp-2.0.11.0-1.x86_64.rpm
Пакет содержит один файл библиотеки и символическая ссылка к нему расположена по следующему пути:
/usr/lib64/librtpkcs11ecp.so -> /opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so
При работе с приложениями можно использовать как оригинальный файл в
/opt
, так и ссылку вlib64
.Проверьте доступность смарт-карты при помощи утилит проекта OpenSC. Установите соответствующий пакет:
yum -y install opensc
После этого станет доступной команда pkcs11-tool, которая может показать список доступных сертификатов в смарт-карте. Для этого достаточно указания библиотеки PKCS11:
pkcs11-tool --module /opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so -O Using slot 1 with a present token (0x1) Public Key Object; RSA 2048 bits label: test ID: 57306d4b43506457 Usage: encrypt, verify, wrap Certificate Object; type = X.509 cert label: TIONIX.EXAMPLE subject: DN: C=XX, L=Default City, O=Default Company Ltd ID: 6b344a394e683437
Как видим, в обозреваемой смарт-карте имеется публичный ключ и один сертификат. Данный вывод говорит о том, что смарт-карта успешно читается.