Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12.43
Для упрощения изложения в примере рассматривается настройка удаленного помощника для локальных пользователей и групп, однако изложенная методика также применима для доменных пользователей и групп.
Особенности работы с клавиатурой
- Если при подключенном VNC-клиенте (удаленном помощнике) переключить раскладку клавиатуры на стороне VNC-сервера, то пропадает возможность ввода с клавиатуры на клиенте Remmina. В таком случае восстановить возможность ввода можно повторной сменой раскладки с помощью переключателя клавиатуры в трее на клиенте;
- Если производить изменение раскладки на VNC-клиенте (Remmina) сочетанием клавиш (Alt+Shift), то переключение раскладки отрабатывает корректно;
- Если производить изменение раскладки на VNC-клиенте (Remmina) переключателем клавиатуры в трее, то ввод с клавиатуры не работает.
Подготовка стенда
Создать локального пользователя luser, которому "помогают", и задать ему пароль 123luser:
echo -e "123luser\n123luser" | sudo passwd luser
echo -e "123helper\n123helper" | sudo passwd helper
sudo usermod -aG vnc-help helper
Установка пакета tigervnc-scraping-server
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) - подключить в качестве репозитория диск со средствами разработки.
Для Astra Linux Special Edition x.7 - подключить базовый репозиторий.
Обновить списки пакетов:
sudo sed -i "/@include common-auth/a account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/access-groups-to-help" /etc/pam.d/tigervnc
Создать сценарий запуска сервера:
echo -e '#!/bin/bash\nsudo x0tigervncserver SecurityTypes=TLSPLain PlainUsers=* PAMService=tigervnc' | sudo tee /bin/rhelp
sudo chmod 711 /bin/rhelpРазрешить запуск созданного сценария с привилегиями суперпользователя (разрешить запуск с использованием sudo):
echo "ALL ALL=(root) NOPASSWD: /bin/rhelp" | sudo tee /etc/sudoers.d/rhelp
Отключение удаленного помощника пользователем
Сценарий для принудительного отключения удаленного помощника пользователем (и для запрета дальнейших подключений) может быть реализован аналогичным способом. При этом можно использовать опцию -kill, останавливающую работающий VNC-сервер, подключенный к текущей графической сессии. Пример последовательности команд, создающей и настраивающей сценарий отключения:
sudo chmod 711 /bin/rstop
echo "ALL ALL=(root) NOPASSWD: /bin/rstop" | sudo tee /etc/sudoers.d/rstop
Проверка
- Войти в графическую сессию пользователя luser;
Запустить VNC-сервер из сессии пользователя luser:
sudo rhelp- Подключиться с другой машины с помощью remmina от имени пользователя helper, протокол VNC, порт 5900 для сессии первого пользователя (vt7), 5901 для второго (vt8) и т.д. (однако при этом в remmina корректно отображается только экран активной сессии);
Отключить удаленного пользователя, выполнив в локальной сессии команду:
sudo rstop
Запуск удаленного помощника с помощью ssh
Для того, чтобы запустить удаленного помощника из сессии ssh можно использовать в этой сессии команду: