Veyon
Veyon (Virtual Eye On Networks) — программа для учителей работающих в компьютеризированных классах. Она позволяет различными способами контролировать компьютеры учащихся входящих в состав сети. Veyon поддерживает Linux и Windows.
Установка
Установить пакет veyon:
# apt-get install veyon
Настройка управления классом
Настройку Veyon можно произвести как в графическом интерфейсе, используя конфигуратор Veyon, так и в командной строке, используя команду veyon-cli:
$ veyon-cli help
Доступные модули:
authkeys - Команды для управления ключами аутентификации
config - Команды для управления настройками Veyon
feature - Команды для управления функциями
ldap - Команды для конфигурирования и тестирования интеграции LDAP/AD
networkobjects - Команды для управления каталогом встроенных объектов сети
plugin - Команды для управления плагинами
power - Команды для управления состоянием питания компьютеров
remoteaccess - Удалённый просмотр или управление компьютером
service - Команды для настройки и управления сервисом Veyon
shell - Команды для возможностей оболочки
webapi - Команды для запуска Веб-API сервера</source>
Каждый модуль поддерживает команду help, поэтому для каждого модуля можно отобразить список всех доступных команд. Пример вывода справки для модуля config:
$ veyon-cli config help
Доступные команды:
clear - Очистка всей системы Veyon
export - Экспорт конфигурации в указанный файл
get - Чтение и вывод значений конфигурации для заданного ключа
import - Импорт конфигурации из указанного файла
list - Список всех ключей и значений конфигурации
set - Записать указанное значение в заданный ключ конфигурации
unset - Отменить (удалить) данный ключ конфигурации
upgrade - Обновить и сохранить настройки программы и дополнений
Настройка Veyon на компьютере преподавателя
Запустить конфигуратор Veyon, выбрав «Меню запуска приложений» → «Образовательные» → «Veyon Configurator» или выполнив команду:
$ veyon-configurator
Потребуется ввести пароль пользователя входящего в группу wheel:
Раздел «Главное»
В разделе «Главное» в блоке «Аутентификация» необходимо выбрать метод аутентификации: «Аутентификация с помощью ключей доступа», в блоке «Каталог сетевых объектов» в поле «Бэкэнд» выбрать «Встроенное (компьютеры и места в локальных настройках)»:
Veyon предлагает два метода аутентификации: аутентификацию по ключу и аутентификацию при входе в систему. В данной статье рассматривается метод аутентификации по ключу. Аутентификация по ключу основана на криптографии с открытым ключом (используются открытый ключ и связанный с ним закрытый ключ).
Раздел «Сервис»
В разделе «Сервис» следует запустить сервис, если он еще не запущен, и в блоке «VNC-сервер» в поле «Плагин» выбрать пункт «Встроенный сервер VNC (x11vnc)»:
Раздел «Ключи аутентификации»
В разделе «Ключи аутентификации» необходимо сгенерировать ключи:
- нажать кнопку «Создать ключевую пару»;
- указать имя для пары ключей, нажать кнопку «ОК»:
- появится уведомление о том, что ключи созданы и сохранены, с указанием пути их сохранения:
- выделить открытый ключ (имеет значение public в колонке «Тип») и нажать кнопку «Экспорт ключа»:
- указать каталог для экспорта открытого ключа (например, можно указать папку, которая открыта в общий доступ) и нажать кнопку «Сохранить».
Открытый ключ (файл teacher_public_key.pem) с компьютера учителя необходимо скопировать на компьютеры учащихся (перенести с помощью носителя информации, использовать общую папку, использовать команду scp).
# ls -l /etc/veyon/keys/private/teacher/
-r--r----- 1 root root 3268 июн 6 16:14 key
Чтобы разрешить доступ группе пользователей, необходимо установить группу доступа для закрытого ключа. Только пользователи, которым разрешен доступ к компьютерам с помощью Veyon Master, должны быть членами группы доступа, заданной для закрытых ключей. Открытый ключ должен быть доступен для чтения всем пользователям.
Для изменения группы доступа следует выбрать ключ и нажать кнопку «Установить группу доступа». В открывшемся окне выбрать/указать группу пользователей:
Теперь доступ к зарытому ключу будут иметь все пользователи входящие в группу teacher:
# ls -l /etc/veyon/keys/private/teacher/
-r--r----- 1 root teacher 3268 июн 6 16:14 key
Создать ключевую пару для «teacher»:
# veyon-cli authkeys create teacher
Экспортировать открытый ключ:
$ veyon-cli authkeys export teacher/public /home/user/teacher.pem
Изменить группу доступа закрытого ключа:
# veyon-cli authkeys setaccessgroup teacher/private teacher
Применение настроек
После завершения настроек нажать кнопку «Применить» и на вопрос о перезапуске службы ответить «Да».
На этой стадии можно экспортировать конфигурацию («Файл» → «Сохранить параметры в файл»), чтобы потом можно было её применить на управляемых компьютерах. И уже затем добавлять классы и компьютеры.
Конфигурацию (файл <имя_файла>.json) с компьютера учителя необходимо скопировать на компьютеры учащихся (перенести с помощью носителя информации, использовать общую папку, использовать команду scp).
Дополнительные настройки
В разделе «Места и компьютеры» необходимо добавить классы и компьютеры. Для компьютера достаточно указать IP-адрес:
В разделе «Мастер» на вкладке «Поведение» можно выбрать то, как будут реагировать компьютеры на двойной щелчок:
На вкладке «Функции» можно отключить ненужные функциональные возможности:
В разделе «Программы и сайты» можно добавить к контекстному меню часто используемые программы и сайты:
Интеграция с LDAP/AD
В Veyon можно настроить интеграцию с LDAP-совместимыми продуктам (включая Active Directory и FreeIPA). После настройки интеграции, в Veyon Master будет использоваться информация о пользователях, группах и компьютерах из каталога LDAP.
Ниже показана настройка интеграции с FreeIPA (сервер ipa.example.test, IP-адрес — 192.168.0.113, учётная запись с правами чтения LDAP — user_freeipa).
Настройка интеграции выполняется в Veyon Configurator в разделе «LDAP Basic».
На вкладке «Основные настройки» необходимо указать параметры подключения к LDAP: имя хоста (IP-адрес) LDAP-сервера, порт (обычно 389 без ssl, 636 с ssl) и ввести учётные данные пользователя. В разных реализациях LDAP могут быть разные требования для указания учетной записи, например, во FreeIPA необходимо указать uid=user_freeipa,cn=users,cn=accounts,dc=example,dc=test.
Используя кнопку «Тест» Кнопка «Тест», можно проверить соединение с LDAP-сервером.
Корневой DN необходимо ввести в соответствующее поле ввода или выбрать с помощью кнопки «Обзор».
Вкладка «Настройки среды»:
«Деревья объектов» — это организационные или структурные единицы, в которых хранятся определенные типы объектов (пользователи, группы, компьютеры). Соответствующие CN (общие имена) или OU (организационные единицы) должны быть введены без корневой части DN в соответствующие поля ввода. Рядом с каждым полем ввода есть кнопки для открытия диалоговых окон просмотра и проверки индивидуальных настроек.
Чтобы Veyon мог получить необходимую информацию из запрашиваемых объектов, необходимо настроить имена некоторых атрибутов объектов, поскольку они существенно различаются в зависимости от LDAP-сервера:
- «Атрибут имени пользователя для входа» — атрибут должен содержать логин пользователя (FreeIPA — uid, Active Directory — sAMAccountName);
- «Атрибут членства в группе» — атрибут используется для определения групп, членом которых является конкретный пользователь;
- «Атрибут показываемого названия компьютера» — атрибут используется для определения имени компьютера, отображаемого в Veyon Master. Если оставить поле пустым, используется общее имя (cn).
- «Атрибут имени хоста компьютера» — DNS-имя компьютера;
- «Атрибут места компьютера» — если схема LDAP для компьютеров предоставляет специальный атрибут для сопоставления местоположению, здесь можно ввести имя этого атрибута.
Вкладка «Расширенные настройки»:
С помощью фильтров можно сократить количество объектов LDAP, используемых в Veyon.
После настройки и тестирования интеграции с LDAP можно активировать бэкэнд LDAP. Для этого, в разделе «Главное» в выпадающем списке «Бэкэнд» выбрать «LDAP Basic»:
В результате в Veyon Master будет использоваться информация о классах и компьютерах из каталога LDAP:
Настройка управляемых компьютеров
В графическом интерфейсе
Запустить Veyon Конфигуратор («Меню запуска приложений» → «Образовательные» → «Veyon Configurator», потребуется ввести пароль пользователя входящего в группу wheel) и изменить следующие настройки:
- Выбрать в меню «Файл» → «Загрузить настройки из файла» и загрузить файл с настройками (<имя_файла.json>), сохранённый на компьютере преподавателя:
- В разделе «Сервис» запустить сервис.
- В разделе «Ключи аутентификации» нажать кнопку «Импорт ключа» и загрузить подготовленный публичный ключ, сгенерированный на компьютере преподавателя:
- После завершения настроек нажать кнопку «Применить» и на вопрос о перезапуске службы ответить «Да».
В консоли
Настройку управляемых компьютеров можно выполнить централизовано, в командной строке. Далее все команды выполняются на компьютере учителя, под учетной записью учителя.
Для удобства переноса публичных частей ключей на ученические машины, можно настроить доступ по ssh с компьютера учителя на компьютеры учеников.
Генерация SSH-ключа:
$ ssh-keygen -t ed25519
Копируем публичную часть ключа на ученическую машину для пользователя:
$ ssh-copy-id -i /home/teacher/.ssh/id_ed25519.pub user@192.168.0.2
или сразу на все ученические машины в сети:
$ for i in `seq 2 15`; do ssh-copy-id user@192.168.0.$i; done
В результате получаем возможность работы с домашними каталогами пользователя user ученических машин — копировать к себе и от себя, удалять, редактировать и т.д.
Копируем публичную часть ключа на все ученические машины в сети для администратора. Для этого подключаемся к каждой ученической машине и под root копируем публичную часть ключа:
$ ssh user@192.168.0.2
user@comp2 $ su -
comp2 # cat /home/user/.ssh/authorized_keys >> /root/.ssh/authorized_keys
comp2 # exit
user@comp2 $ exit
Каталог /root/.ssh при этом должен существовать.
Теперь есть возможность удалённо выполнять команды на ученических компьютерах с привилегиями администратора.
Экспортируем публичный ключ:
$ veyon-cli authkeys export teacher/public
[ИНФОРМАЦИЯ] Ключ "teacher/public" был успешно экспортирован в "teacher_public_key.pem".
[OK]
Экспортируем конфигурацию:
$ veyon-cli config export myconfig.json
[OK]
Копируем открытый ключ и конфигурацию на ученическую машину:
$ scp teacher_public_key.pem user@192.168.0.2:/tmp/
$ scp myconfig.json user@192.168.0.2:/tmp/
Импортируем открытый ключ и конфигурацию на ученической машине:
$ ssh root@192.168.0.2 "veyon-cli authkeys import teacher/public /tmp/teacher_public_key.pem"
[OK]
[ИНФОРМАЦИЯ] Ключ "teacher/public» был успешно импортирован. Пожалуйста, проверьте права доступа к файлу "/etc/veyon/keys/public/teacher/key», чтобы предотвратить неуполномоченный доступ.
$ ssh root@192.168.0.2 "veyon-cli config import /tmp/myconfig.json"
[OK]
Запускаем сервис veyon:
$ ssh root@192.168.0.2 "veyon-cli service start"
Запускаем сервис veyon.[OK]
Или настраиваем сразу все клиентские машины:
$ ssh-add; for i in `seq 2 15`; do scp /home/teacher/teacher_public_key.pem root@192.168.0.$i:/tmp/; done
$ ssh-add; for i in `seq 2 15`; do scp /home/teacher/myconfig.json root@192.168.0.$i:/tmp/; done
$ ssh-add; for i in `seq 2 15`; do ssh root@192.168.0.$i "veyon-cli authkeys import teacher/public /tmp/teacher_public_key.pem"; done
$ ssh-add; for i in `seq 2 15`; do ssh root@192.168.0.$i "veyon-cli config import /tmp/myconfig.json"; done
$ ssh-add; for i in `seq 2 15`; do ssh root@192.168.0.$i "veyon-cli service start"; done
Использование Veyon
На компьютере преподавателя запустите Veyon, выбрав «Меню запуска приложений» → «Образовательные» → «Veyon Master».
По верхнему и нижнему краям окна Veyon Master расположены панели, содержащие кнопки для настройки Veyon.
Кнопка «Места & компьютеры» в строке состояния открывает панель выбора компьютеров. Здесь можно отметить компьютеры, которые необходимо отображать.
Все доступные функции доступны через кнопки на панели инструментов, а также из контекстного меню отдельных компьютеров.
Нажатие кнопки на панели инструментов активирует нужную функцию на всех отображаемых компьютерах. Для того чтобы активировать функцию на одном компьютере, выбирать действие нужно в контекстном меню данного компьютера. Если выделено несколько компьютеров (например, клавишей <Ctrl>), выбор в контекстном меню приведёт к запуску данного действия на выбранных компьютерах.
Просмотр и запись происходящего на компьютерах учеников
По умолчанию на экране демонстрируется происходящее на всех активных компьютерах. Начать просмотр происходящего на экране одного компьютера можно выбрав в контекстном меню этого компьютера пункт «Удалённый просмотр». Если нажать кнопку «Удалённый просмотр» на верхней панели окна, потребуется ввести IP-адрес компьютера, доступ к которому надо получить:
Для записи текущего состояния ученического компьютера, необходимо в контекстном меню этого компьютера выбрать пункт «Снимок экрана».
Нажав на кнопку «Снимок экрана» на панели инструментов, можно сделать снимки всех активных рабочих станций. Нажав на кнопку «Снимок экрана» на нижней панели окна, можно просмотреть сохраненные записи.
Удалённый контроль и управление компьютерами учеников
Начать удалённое управление можно из контекстного меню машины (пункт «Удалённое управление»), или щелкнув на кнопку «Удалённое управление» на панели инструментов (потребуется ввести IP-адрес). При этом появится возможность управлять данным компьютером (вводить команды, запускать программы и т.д.).
Демонстрация учебных материалов
В результате выбора режимов «Демонстрировать собственный экран…», все происходящее на компьютере учителя, будет транслироваться на машины учеников.
Демонстрация учебных материалов доступна в режиме полного экрана (действия пользователей при этом будут заблокированы) или в оконном режиме.
Для предоставления учащемуся возможности демонстрации производимых им действий на рабочие столы других учащихся необходимо выбрать один из режимов «Демонстрировать экран выбранного пользователя…».
Блокирование рабочих станций
Можно заблокировать как отдельную рабочую станцию, выбрав в контекстном меню компьютера пункт «Заблокировать», так и все станции сразу, нажав на кнопку «Заблокировать» на верхней панели.
Для разблокировки рабочих столов достаточно выбрать пункт «Разблокировать» в контекстном меню заблокированной станции или нажать кнопку «Разблокировать» на панели инструментов.
Пересылка текстовых сообщений учащимся
Для отправки текстового сообщения на отдельную рабочую станцию необходимо в контекстном меню компьютера выбрать пункт «Текстовое сообщение», в открывшемся окне ввести текст сообщения и нажать кнопку «OK».
Отправить сообщение на все активные рабочие станции, можно нажав на кнопку «Текстовое сообщение» на панели инструментов.
Запуск приложений
Для запуска приложений на рабочей станции необходимо в контекстном меню компьютера, выбрать пункт «Запустить приложение». Если в конфигураторе администратором были настроены часто используемые приложения, то такое приложений можно выбрать в подменю:
Если необходимо запустить приложение, которого нет в подменю, следует выбрать пункт «Другое приложение», в открывшемся окне ввести команды (можно записать сразу несколько программ/команд, по одной в строке) и нажать кнопку «OK»:
Открыть веб-сайт
Если нужно, чтобы все учащиеся открыли определенный веб-сайт, можно удалённо открыть веб-сайт на всех компьютерах. Для этого используется кнопка «Открыть веб-сайт». Если в конфигураторе администратором были настроены веб-сайты или ранее были добавлены пользовательские веб-сайты, откроется всплывающее меню, в котором перечислены все доступные веб-сайты:
Если необходимо открыть веб-сайт, которого нет в списке, следует выбрать пункт «Другое веб-сайт», в открывшемся диалоговом окне ввести адрес веб-сайта и нажать кнопку «OK»:
Передача файлов
Чтобы передать файлы на рабочую станцию, необходимо в контекстном меню компьютера, выбрать пункт «Передача файлов», выбрать файлы, затем в открывшемся окне указать параметры передачи и нажать кнопку «Начать»:
В этом диалоговом окне можно выбрать дополнительные параметры. По умолчанию файлы будут скопированы в домашний каталог пользователя, существующие файлы не будут перезаписаны.
В зависимости от размера файлов и количества компьютеров передача файлов может занять некоторое время.
Выключение и перезагрузка компьютеров
Следует обратить внимание, что несмотря на наличие выбора дополнительных опций, компьютеры могут быть перезагружены или выключены без дополнительных диалоговых окон подтверждения.
Полезные ссылки
Официальная документация: https://docs.veyon.io/ru/latest/