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

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

Версия Termit: 2.4

Аннотация

В этом документе содержится информация и процедуры для администраторов.

1. Руководство по установке

В этом руководстве подробно описано, как системным администраторам установить платформу для виртуализации рабочих столов и приложений Termit. Это поможет избежать ошибок, ускорить процесс развертывания и обеспечить корректную работу системы после установки.

Руководство содержит информацию о необходимых компонентах, требованиях к системе, процессе установки, настройке параметров и других важных аспектах работы с системой.

Ссылки на разделы:

2. Подготовка окружения

Перед развертыванием Termit подготовьте окружение:

  1. Проверьте, что подсети Docker Compose не пересекаются с сетями для серверов баз данных, LDAP-каталогов, терминалов и брокеров. Подробнее в статье Ошибки при пересечении IP-адресов между Docker и хост-системой.

  2. Разверните отдельные серверы:

    • для брокеров.

      Количество брокеров зависит от типа развертывания:

      • для «Standalone» необходим один брокер;

      • для «High Availability» - не меньше трех брокеров.

        Подробнее расчете ресурсов в разделе.
    • для терминальных серверов/ВРМ под управлением Windows или Linux в зависимости от требований;

    • (Опционально) для сервера баз данных. Можно использовать существующий сервер.

    • (Опционально) для MFA.

    • (Опционально) для балансировщиков нагрузки Haproxy.

  3. Проверьте доступ к службе каталогов и PostgreSQL.

  4. Добавьте терминальные серверы в домен службы каталогов.

  5. В каталоге пользователей создайте сервисную учетную запись для синхронизации объектов из службы каталогов. Обязательно отключите опцию «User must change password at next logon» и включите «Password never expires».

  6. В каталоге пользователей создайте группы безопасности для назначения ролей: администратора, технической поддержки, аудитора ИБ и пользователя, в соответствии с требованиями вашей компании.

  7. В каталоге пользователей добавьте в состав групп, созданных на предыдущем шаге, учетные записи пользователей для взаимодействия с Termit.

3. Настройка межсетевого экрана

В этом разделе описано, как настроить межсетевой экран (МСЭ).

РЕД ОС

Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:

sudo systemctl status firewalld.service

Если в выводе команды отображается информация, как на изображении ниже, то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.

s  code1

В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого:

  1. Определите активную зону МСЭ с помощью команды:

    firewall-cmd --get-default-zone
  2. Добавьте правила по списку портов в необходимую активную зону с помощью команды:

    sudo firewall-cmd --zone=%Активная_Зона% --permanent --add-port=%Порт%/tcp

    Где:

Astra Linux

Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:

sudo ufw status

Если выполнение команды возвращает ответ «Status: inactive», то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.

В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте разрешения командой:

sudo ufw allow %Порт%/tcp

Где: %Порт% — необходимый порт. Список портов смотрите в разделе Порты.

ALT Linux

Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:

sudo efw

Если выполнение команды возвращает ответ «Firewall is disabled», то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.

В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте правила. В зависимости от используемого МСЭ команды могут отличаться. Подробнее о создании правил МСЭ описано в статьях Etcnet Firewall и UFW.

Windows

Чтобы настроить межсетевой экран на сервере:

  1. Откройте любым способом Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.

  2. Выберите Правила для входящих подключений.

    s  firewall
  3. Нажмите Создать правило.

  4. На вкладке Тип правила включите опцию Для порта.

  5. Нажмите Далее.

  6. На вкладке Протокол и порты оставьте Протокол TCP по умолчанию. В параметре Определенные локальные порты: укажите «8443». Полный список портов смотрите в разделе Порты.

  7. Нажмите Далее  Далее  Далее.

  8. На вкладке Имя задайте имя, например «Termit Agent».

Можно создать правило в межсетевом экране с помощью PowerShell:

New-NetFirewallRule -DisplayName "termit-agent TCP 8443" -Direction inbound -Profile Any -Action Allow -LocalPort 8443 -Protocol TCP

4. Базовая конфигурация базы данных

  1. Повторное использование базы данных для новой инсталляции невозможно.

  2. Не поддерживается развертывание БД и брокера на одном сервере.

  3. Начиная с версии Termit 2.4, требуется использовать версию СУБД PostgreSQL не ниже 13, рекомендованная версия для использования — 15.

В этом разделе представлена базовая информация по подготовке сервера баз данных PostgreSQL.

РЕД ОС

В этой инструкции используется последняя доступная версия СУБД PostgreSQL 15. В случае если используется другая версия, то выполняемые команды необходимо изменить. Более подробно можно ознакомиться на сайте документации РЕД ОС.

  1. Установите PostgreSQL с помощью команды:

    sudo dnf install postgresql15-server
  2. Инициализируйте базу данных с помощью команды:

    sudo postgresql-15-setup initdb
  3. Запустите сервис PostgreSQL с помощью команды:

    sudo systemctl enable postgresql-15.service --now
  4. Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/15/data/postgresql.conf параметр listen_addresses должен соответствовать значению '*':

    В инструкции предлагается установить для параметра listen_addresses значение * . Это позволит принимать подключения по всем доступным сетевым интерфейсам. Если требуется ограничить доступ только к определенному интерфейсу, то укажите конкретный IP-адрес или имя интерфейса вместо * . Например: listen_addresses='192.168.1.1' или listen_addresses='eth0'. Это поможет ограничить подключение к СУБД только с нужного интерфейса, обеспечивая дополнительный уровень безопасности.

    s  bd1

    Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.

  5. Чтобы обеспечить достаточное количество слотов для подключений в высоконагруженной системе, в файле конфигурации /var/lib/pgsql/15/data/postgresql.conf параметр max_connections должен соответствовать значению 500.

  6. Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/15/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    В инструкции предлагается добавить в файл конфигурации /var/lib/pgsql/15/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    Эта строка разрешает подключение к СУБД с использованием пароля со всех IP-адресов. Для повышения безопасности рекомендуется указать конкретные IP-адреса или диапазоны адресов, с которых будут разрешены подключения. Например:

    host    all             all             192.168.1.0/24          password

    Это ограничит доступ к СУБД только для адресов в указанном диапазоне, снижая риск несанкционированных подключений.

    s  bd2

    Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.

  7. Запустите сессию служебного пользователя postgres с помощью команды:

    sudo su - postgres
  8. Запустите командную оболочку PostgreSQL от имени пользователя postgres с помощью команды:

    psql
  9. Если при установке брокера:

    • будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:

      1. Создайте новую базу данных с помощью команды:

        CREATE DATABASE %Имя_Базы%;
      2. Создайте нового пользователя базы данных с паролем с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
      3. Назначьте права владельца базы данных созданному пользователю с помощью команды:

        ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
      4. Завершите работу с оболочкой psql и сессией пользователя postgres с помощью команды:

        exit
      5. Примените изменения, перезапустив службу PostgreSQL с помощью команды:

        sudo systemctl restart postgresql-15.service
    • будет выбрана опция «создать новую базу данных», то выполните шаги:

      1. Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
      2. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
      3. Перезапустите сервис PostgreSQL с помощью команды:

        sudo systemctl restart postgresql-15.service

Astra Linux

СУБД PostgreSQL версии 15 доступен для Astra Linux версии 1.8. Для версии 1.7 и ниже - недоступен.

В случае инсталляций в режиме контроля мандатного доступа («Воронеж» и «Смоленск») может потребоваться дополнительная конфигурация операционной системы. Подробнее о настройках PostgreSQL и мандатном управлении доступа.

  1. Установите PostgreSQL из репозитория с помощью команды:

    sudo apt install postgresql-15
  2. Проверьте статус сервиса PostgreSQL с помощью команды:

    sudo systemctl status postgresql
  3. При необходимости запустите сервис с помощью команды:

    sudo systemctl start postgresql
  4. Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /etc/postgresql/15/main/postgresql.conf параметр listen_addresses должен соответствовать значению '*':

    В инструкции предлагается установить для параметра listen_addresses значение * . Это позволит принимать подключения по всем доступным сетевым интерфейсам. Если требуется ограничить доступ только к определенному интерфейсу, то укажите конкретный IP-адрес или имя интерфейса вместо * . Например: listen_addresses='192.168.1.1' или listen_addresses='eth0'. Это поможет ограничить подключение к СУБД только с нужного интерфейса, обеспечивая дополнительный уровень безопасности.

    s  bd3

    Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.

  5. Чтобы обеспечить достаточное количество слотов для подключений в высоконагруженной системе, в файле конфигурации /etc/postgresql/15/main/postgresql.conf параметр max_connections должен соответствовать значению 500.

  6. Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /etc/postgresql/15/main/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    В инструкции предлагается добавить в файл конфигурации /etc/postgresql/15/main/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    Эта строка разрешает подключение к СУБД с использованием пароля со всех IP-адресов. Для повышения безопасности рекомендуется указать конкретные IP-адреса или диапазоны адресов, с которых будут разрешены подключения. Например:

    host    all             all             192.168.1.0/24          password

    Это ограничит доступ к СУБД только для адресов в указанном диапазоне, снижая риск несанкционированных подключений.

    s  bd4

    Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.

  7. Чтобы разрешить удаленное подключение к СУБД пользователю в режиме контроля мандатного доступа, в параметре zero_if_notfound задайте значение yes в файле /etc/parsec/mswitch.conf:

    s  bd5
  8. Запустите сессию служебного пользователя postgres с помощью команды:

    sudo su - postgres
  9. Запустите командную оболочку postgres с помощью команды:

    psql
  10. Если при установке брокера:

    • выбрана опция «подключиться к существующей базе данных», то выполните шаги:

      1. Создайте пустую базу данных с помощью команды:

        CREATE DATABASE %Имя_Базы%;
      2. Создайте нового пользователя с паролем с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
      3. Назначьте права владельца для созданного пользователя на созданную базу с помощью команды:

        ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
      4. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
      5. Перезапустите сервис PostgreSQL с помощью команды:

        sudo systemctl restart postgresql
    • будет выбрана опция «создать новую базу данных», то выполните шаги:

      1. Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
      2. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
      3. Перезапустите PostgreSQL с помощью команды:

        sudo systemctl restart postgresql

ALT Linux

Подробнее об установке PostgreSQL можно прочесть на официальном сайте ALT Linux.

  1. Установите компоненты PostgreSQL с помощью команды:

    sudo apt-get install postgresql15-server
  2. Инициализируйте сервер БД с помощью команды:

    sudo /etc/init.d/postgresql initdb
  3. Запустите и добавьте автозапуск с помощью команды:

    sudo systemctl enable postgresql --now
  4. Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/data/postgresql.conf параметр listen_addresses должен соответствовать значению '*'.

    В инструкции предлагается установить для параметра listen_addresses значение * . Это позволит принимать подключения по всем доступным сетевым интерфейсам. Если требуется ограничить доступ только к определенному интерфейсу, то укажите конкретный IP-адрес или имя интерфейса вместо * . Например: listen_addresses='192.168.1.1' или listen_addresses='eth0'. Это поможет ограничить подключение к СУБД только с нужного интерфейса, обеспечивая дополнительный уровень безопасности.

    s  sql1
  5. Чтобы обеспечить достаточное количество слотов для подключений в высоконагруженной системе, в файле конфигурации /var/lib/pgsql/data/postgresql.conf параметр max_connections должен соответствовать значению 500.

  6. Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    В инструкции предлагается добавить в файл конфигурации /var/lib/pgsql/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    Эта строка разрешает подключение к СУБД с использованием пароля со всех IP-адресов. Для повышения безопасности рекомендуется указать конкретные IP-адреса или диапазоны адресов, с которых будут разрешены подключения. Например:

    host    all             all             192.168.1.0/24          password

    Это ограничит доступ к СУБД только для адресов в указанном диапазоне, снижая риск несанкционированных подключений.

    s  sql2
  7. Перезапустите сервис с помощью команды:

    sudo systemctl restart postgresql
  8. Перейдите в консоль управления БД с помощью команды:

    psql -U postgres
  9. Если при установке брокера:

    • выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:

      1. Создайте новую базу данных с помощью команды:

        CREATE DATABASE %Имя_Базы%;
      2. Создайте нового пользователя базы данных с паролем с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
      3. Назначьте права владельца базы данных созданному пользователю с помощью команды:

        ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
      4. Завершите работу с оболочкой psql и сессией пользователя postgres с помощью команды:

        exit
      5. Примените изменения, перезапустив службу PostgreSQL с помощью команды:

        sudo systemctl restart postgresql
    • будет выбрана опция «создать новую базу данных», то выполните шаги:

      1. Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
      2. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
      3. Перезапустите сервис PostgreSQL с помощью команды:

        sudo systemctl restart postgresql

Debian

  1. Установите сервис PostgreSQL с помощью команды:

    sudo apt install postgresql-15
  2. Проверьте статус сервиса с помощью команды:

    sudo systemctl status postgresql
  3. При необходимости запустите сервис с помощью команды:

    sudo systemctl enable postgresql --now
  4. Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /etc/postgresql/15/main/postgresql.conf, в параметре listen_addresses должно быть значение '*':

    s  debian1
  5. Чтобы обеспечить достаточное количество слотов для подключений в высоконагруженной системе, в файле конфигурации /etc/postgresql/15/main/postgresql.conf параметр max_connections должен соответствовать значению 500.

  6. Чтобы разрешить удаленное подключение к СУБД, добавьте в файл конфигурации /etc/postgresql/15/main/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password
  7. Запустите сессию служебного пользователя postgres с помощью команды:

    sudo su - postgres
  8. Запустите командную оболочку postgres с помощью команды:

    psql
  9. Если при установке брокера:

    • выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:

      1. Создайте новую базу данных с помощью команды:

        CREATE DATABASE %Имя_Базы%;
      2. Создайте нового пользователя с паролем с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
      3. Назначьте права владельца базы данных созданному пользователю с помощью команды:

        ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
      4. Завершите работу с оболочкой psql и сессией пользователя postgres с помощью команды:

        exit
      5. Примените изменения, перезапустив сервис PostgreSQL с помощью команды:

        sudo systemctl restart postgresql
    • будет выбрана опция «создать новую базу данных», то выполните шаги:

      1. Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
      2. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
  10. Перезапустите сервис PostgreSQL с помощью команды:

    sudo systemctl restart postgresql

OpenSUSE

  1. Установите компоненты PostgreSQL с помощью команды:

    При необходимости измените версию PostgreSQL.

    sudo zypper install postgresql postgresql-server postgresql-contrib
  2. Запустите и добавьте автозапуск с помощью команды:

    sudo systemctl enable postgresql --now
  3. Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/data/postgresql.conf, параметр listen_addresses должен соответствовать значению '*'.

    В инструкции предлагается установить для параметра listen_addresses значение * . Это позволит принимать подключения по всем доступным сетевым интерфейсам. Если требуется ограничить доступ только к определенному интерфейсу, то укажите конкретный IP-адрес или имя интерфейса вместо * . Например: listen_addresses='192.168.1.1' или listen_addresses='eth0'. Это поможет ограничить подключение к СУБД только с нужного интерфейса, обеспечивая дополнительный уровень безопасности.

    s  sql3
  4. Чтобы обеспечить достаточное количество слотов для подключений в высоконагруженной системе, в файле конфигурации /var/lib/pgsql/data/postgresql.conf параметр max_connections должен соответствовать значению 500.

  5. Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    В инструкции предлагается добавить в файл конфигурации /var/lib/pgsql/15/data/pg_hba.conf строку:

    host    all             all             0.0.0.0/0               password

    Эта строка разрешает подключение к СУБД с использованием пароля со всех IP-адресов. Для повышения безопасности рекомендуется указать конкретные IP-адреса или диапазоны адресов, с которых будут разрешены подключения. Например:

    host    all             all             192.168.1.0/24          password

    Это ограничит доступ к СУБД только для адресов в указанном диапазоне, снижая риск несанкционированных подключений.

    s  sql4
  6. Перезапустите сервис с помощью команды:

    sudo systemctl restart postgresql
  7. Проверьте статус сервиса с помощью команды:

    sudo systemctl status postgresql

    Статус должен быть «Active».

    s  sql5
  8. Перейдите в консоль управления БД с помощью команды:

    psql -U postgres
  9. Если при установке брокера:

    • выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:

      1. Создайте новую базу данных с помощью команды:

        CREATE DATABASE %Имя_Базы%;
      2. Создайте нового пользователя с паролем с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
      3. Назначьте права владельца базы данных созданному пользователю с помощью команды:

        ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
      4. Завершите работу с оболочкой psql и сессией пользователя postgres с помощью команды:

        exit
      5. Примените изменения, перезапустив службу PostgreSQL с помощью команды:

        sudo systemctl restart postgresql
    • будет выбрана опция «создать новую базу данных», то выполните шаги:

      1. Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:

        CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
      2. Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:

        exit
      3. Перезапустите сервис PostgreSQL с помощью команды:

        sudo systemctl restart postgresql

Если при установке выбирать опцию «подключиться к уже существующей базе данных», вместо назначения пользователя владельцем можно использовать минимально необходимый набор прав. Для этого выполните следующие шаги:

  1. Создайте новую базу данных с помощью команды:

    CREATE DATABASE %Имя_Базы%;
  2. Назначьте права владельца базы данных созданному пользователю с помощью команды:

    CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
  3. Предоставьте пользователю доступ к базе данных с помощью команды:

    GRANT CONNECT ON DATABASE %Имя_Базы% TO %Имя_Пользователя%;
  4. Подключитесь к базе данных с помощью команды:

    \c %Имя_Базы%
  5. Назначьте пользователю необходимые привилегии на схему public:

    • GRANT CREATE ON SCHEMA public TO %Имя_Пользователя%;;

    • GRANT USAGE ON SCHEMA public TO %Имя_Пользователя%;;

    • GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO %Имя_Пользователя%;.

  6. Установите дефолтные привилегии для будущих объектов в схеме public с помощью команды:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO %Имя_Пользователя%

5. Миграция базы данных

Ниже описаны действия по обновлению или переносу базы данных.

Миграция в рамках кластера Patroni

Процесс данной миграции включает в себя перенос БД из одного кластера СУБД на базе продукта Patroni + etcd + PostgreSQL (старой версии) на другой кластер СУБД на базе Patroni + etcd + PostgreSQL (новой версии).

Для использования такого подхода необходимо развернуть новый кластер СУБД (минимум 3 сервера) и установить новую версию PostgreSQL, etcd и Patroni.

Пошаговая инструкция

Для миграции базы данных в рамках кластера Patroni выполните следующие действия:

  1. Проверьте, что новый сервер СУБД настроен в соответствии с требованиями Termit. Подробнее в разделе.

  2. Завершите работу сервисов Termit на всех активных брокерах с помощью команды:

    sudo docker stop $(sudo docker ps -q)
  3. Определите текущий мастер в кластере старой версии Patroni с помощью команды:

    patronictl -c %config_file_path% list

    Где: %config_file_path% - путь к файлу конфигурации Patroni.

  4. Выполните экспорт БД на мастер сервере кластера Patroni старой версии PostgreSQL с помощью команды:

    pg_dump -U %username% -h %db_host% -p %db_port% -F c -b -v -f %backup_file% %db_name%

    Где:

    • %username% - имя пользователя с необходимыми правами;

    • %db_host% - FQDN имя или IP-адрес текущего мастер-сервера;

    • %db_port% - используемый TCP-порт (по умолчанию 5432);

    • %backup_file% - имя файла, который будет создан при экспорте с расширением .dump;

    • %db_name% - имя базы данных для экспорта.

  5. Скопируйте экспортированную базу данных на целевой сервер с помощью команды:

    scp %backup_file% %target_os_username%@%target_db_host%:%db_file_path%

    Где:

    • %backup_file% - файл БД для копирования на целевой сервер;

    • %target_os_username% - имя пользователя для подключения на целевом сервере СУБД;

    • %target_db_host% - FQDN-имя или IP-адрес целевого сервера СУБД;

    • %db_file_path% - путь к файлу БД на целевом сервере.

  6. Определите текущий мастер в кластере новой версии Patroni с помощью команды:

    patronictl -c %config_file_path% list

    Где: %config_file_path% — путь к файлу конфигурации Patroni.

  7. Перед выполнением импорта БД, проверьте, что на мастер сервере кластера:

    1. создана пустая база данных;

    2. для учетной записи назначены соответствующие права (OWNER).;

    3. соответствующие права назначены (OWNER) для учетной записи.

  8. Выполните импорт базы данных на новый мастер сервер с помощью команды:

    pg_restore -U %target_db_username% -h %target_db_host% -p %db_port% -d %db_name% -v %backup_file%

    Где:

    • %backup_file% - файл БД для импорта на целевой сервер;

    • %target_db_username% - имя пользователя для подключения на целевом сервере СУБД;

    • %db_port% - используемый TCP-порт (по умолчанию 5432);

    • %target_db_host% - FQDN имя или IP-адрес целевого сервера СУБД (определен на шаге 6).

    При выполнении команды будет запрошен пароль от используемой учетной записи.
  9. Проверьте статус репликации между узлами Patroni на целевом сервере с помощью команды::

    patronictl -c /etc/patroni.yml list
  10. Последовательно внесите изменения в конфигурационный файл Termit /etc/termit/config на каждом брокере, указав новый сервер СУБД в значении переменной TERMIT_BROKER_DB_HOST.

  11. Запустите сервисы Termit с помощью команды:

    sudo docker start $(sudo docker ps -a -q)
  12. Проверьте статус сервисов Termit с помощью команды:

    sudo docker ps
    Все контейнеры должны быть в статусе healthy.
  13. Перезагрузите брокер Termit.

Миграция в рамках одного сервера

Данный процесс включает перенос базы данных с одного экземпляра PostgreSQL (старой версии) на другой экземпляр той же операционной системы (например, в ОС РедОС), но с обновлённой версией PostgreSQL.

Для использования такого подхода необходимо установить новую версию PostgreSQL и назначить для использования порт, отличающийся от 5432.

Пошаговая инструкция

Для миграции базы данных в рамках одного сервера выполните следующие действия:

  1. Установите второй экземпляр СУБД и подготовьте его в соответствии с требованиями Termit. Подробнее в разделе.

    Обратите внимание, для одновременной работы двух экземпляров СУБД необходимо в файле конфигурации /var/lib/pgsql/15/data/postgresql.conf изменить порт по умолчанию c 5432 на другой доступный, например 5433.
  2. Завершите работу сервисов Termit на всех активных брокерах с помощью команды:

    sudo docker stop $(sudo docker ps -q)
  3. Выполните экспорт БД на сервере СУБД с помощью команды:

    pg_dump -U %username% -h %db_host% -p %db_port% -F c -b -v -f %backup_file% %db_name%

    Где:

    • %username% - имя пользователя с необходимыми правами;

    • %db_host% - FQDN имя или IP-адрес текущего мастер сервера;

    • %db_port% - используемый TCP-порт (по умолчанию 5432);

    • %backup_file% - имя файла, который будет создан при экспорте с расширением .dump;

    • %db_name% - имя базы данных для экспорта.

      При выполнении команды будет запрошен пароль от используемой учетной записи.
  4. Перед выполнением импорта базы данных, убедитесь, что:

    1. создана пустая база данных %target_db_name%;

    2. создана учетная запись, которая будет использована для Termit %target_db_username%;;

    3. для учетной записи назначены соответствующие права (OWNER).

  5. Выполните импорт базы данных на целевой сервер с помощью команды:

    pg_restore -U %target_db_username% -h %db_host% -p %db_port% -d %target_db_name% -v %backup_file%

    Где:

    • %target_username% - имя пользователя на новом экземпляре PostgreSQL, который будет владельцем новой базы;

    • %db_host% - FQDN-имя или IP-адрес сервера СУБД;

    • %db_port% - TCP-порт нового экземпляра PostgreSQL (например, 5433);

    • %target_db_name% - имя базы данных для импорта;

    • %backup_file% - имя файла дампа, созданного при экспорте базы с расширением .dump.

      При выполнении команды будет запрошен пароль от используемой учетной записи.
  6. Последовательно внесите изменения в конфигурационный файл Termit /etc/termit/config на каждом брокере, указав новый порт для подключения СУБД (например,TERMIT_BROKER_DB_PORT=5433).

  7. Запустите сервисы Termit с помощью команды:

    sudo docker start $(sudo docker ps -a -q)
  8. Проверьте статус сервисов Termit с помощью команды:

    sudo docker ps
    Все контейнеры должны быть в статусе healthy.
  9. Перезагрузите брокер Termit.

Миграция в рамках разных серверов

Данный процесс миграции состоит из переноса БД с одной виртуальной машины (сервера) PostgreSQL (старой версии) на другую виртуальную машину (сервер) PostgreSQL (новой версии).

Для использования такого подхода необходимо создать новую виртуальную машину и установить новую версию PostgreSQL.

Пошаговая инструкция

Для миграции базы данных в рамках разных серверов выполните следующие действия:

  1. Установите второй экземпляр СУБД и подготовьте его в соответствии с требованиями Termit. Подробнее в разделе.

  2. Завершите работу сервисов Termit на всех активных брокерах с помощью команды:

    sudo docker stop $(sudo docker ps -q)
  3. Выполните экспорт БД на исходном сервере СУБД с помощью команды:

    pg_dump -U %username% -h %db_host% -p %db_port% -F c -b -v -f %backup_file% %db_name%

    Где:

    • %username% - имя пользователя с необходимыми правами;

    • %db_host% - FQDN-имя или IP-адрес исходного сервера СУБД;

    • %db_port% - используемый TCP-порт (по умолчанию 5432);

    • %backup_file% - имя файла для экспорта с расширением .dump;

    • %db_name% - имя базы данных для экспорта.

      При выполнении команды будет запрошен пароль от используемой учетной записи.
  4. Скопируйте экспортированную базу данных на целевой сервер с помощью команды:

    scp %backup_file% %target_os_username%@%target_db_host%:%db_file_path%

    Где:

    • %backup_file% - файл БД для копирования на целевой сервер;

    • %target_os_username% - имя пользователя для подключения на целевом сервере СУБД;

    • %target_db_host% - FQDN имя или IP-адрес целевого сервера СУБД;

    • %db_file_path% - путь к файлу БД на целевом сервере.

      При выполнении команды будет запрошен пароль от используемой учетной записи.
  5. Перед выполнением импорта базы данных, убедитесь, что:

    1. создана пустая база данных на целевом сервере %db_name%;

    2. создана учетная запись, которая будет использована для Termit %db_username%;;

    3. для учетной записи назначены соответствующие права (OWNER) %db_username%.

  6. Выполните импорт базы данных на целевом сервере с помощью команды:

    pg_restore -U %db_username% -h %target_db_host% -p %db__port% -d %db_name% -v %backup_file%

    Где:

    • %username% - имя пользователя с необходимыми правами;

    • target_%db_host% - FQDN-имя или IP-адрес целевого сервера;

    • %db_port% - используемый TCP-порт (по умолчанию 5432);

    • %db_name% - имя базы данных для экспорта;

    • %backup_file% - имя файла для экспорта с расширением .dump.

      При выполнении команды будет запрошен пароль от используемой учетной записи.
  7. Последовательно внесите изменения в конфигурационный файл Termit /etc/termit/config на каждом брокере, указав новый сервер СУБД в значении переменной TERMIT_BROKER_DB_HOST.

  8. Запустите сервисы Termit с помощью команды:

    sudo docker start $(sudo docker ps -a -q)
  9. Проверьте статус сервисов Termit с помощью команды:

    sudo docker ps
    Все контейнеры должны быть в статусе healthy.
  10. Перезагрузите брокер Termit.

6. Установка балансировщика нагрузки

В этом разделе приведены инструкции по созданию балансировщика нагрузки с высокой доступностью, используя HAProxy и Keepalived. Эти инструменты помогут вам разработать отказоустойчивую архитектуру: она обеспечит минимальное время простоя и повысит производительность системы.

HAProxy и Keepalived обычно используются совместно для построения отказоустойчивой архитектуры, при этом выполняют разные функции:

  • HAProxy отвечает за балансировку нагрузки и маршрутизацию трафика между брокерами. Он обеспечивает распределение подключений и поддерживает работу в режимах TCP/HTTP, а также SSL Passthrough или SSL Bridging.

  • Keepalived отвечает за высокую доступность самого балансировщика. Он следит за состоянием узлов и с помощью механизма виртуального IP (VIP) автоматически переключает трафик на доступный узел в случае сбоя.

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

Если вы планируете конфигурацию с одним брокером, то пропустите установку балансировщика нагрузки и перейдите к установке брокера.

В текущей реализации поддерживаются:

  • Балансировка на уровне TCP (для внутреннего трафика терминальный сервер/ВРМ – брокер).

  • Балансировка на уровне HTTP (для внешнего трафика десктоп-клиент – брокер).

  • Режим работы SSL: Passthrough или Bridging.

Ниже приведены инструкции по установке и настройке HAProxy и Keepalived. Вы можете использовать другой балансировщик нагрузки, однако убедитесь, что он настроен для работы в режиме SSL Passthrough или SSL Bridging.

Перейти к:

7. Установка брокера

В этом разделе описаны шаги по установке и первичной настройке сервера с ролью брокер, входящего в состав Termit.

  1. Не поддерживается развертывание БД и брокера на одном сервере.

  2. Подсеть инфраструктуры не должна совпадать с сетью Docker (по умолчанию - 172.17.0.0/16). При совпадении — измените ее, подробнее в статье Ошибки при пересечении IP-адресов между Docker и хост-системой.

РЕД ОС

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo dnf install docker-ce docker-ce-cli docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. Скопируйте дистрибутив на сервер.

  4. Распакуйте архив с помощью команды:

    unzip termit-2.*.*-*.zip
  5. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  6. Запустите скрипт:

    sudo ./install.sh install
  7. Введите пароль администратора системы.

  8. Укажите имя узла брокера. Имя может быть любым.

  9. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of a new cluster
    2. Add a new node to existing cluster
    Enter 1 or 2»

    Укажите «1».

  10. Введите FQDN адрес брокера (инсталляция «Standalone») или балансировщика (инсталляция «High Availability» (HA)), например «broker.example.com». Портал будет доступен по этому адресу.

  11. Появится сообщение:

    Do you want to connect to an existing database or create a new one? (1/2)
    
    1. Connect to an existing database
    2. Create new database
    
    Enter 1 or 2?
    1. Если вы хотите подключиться к существующей базе данных (БД), то:

      1. Укажите «1».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя БД, например «example».

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

    2. Если вы хотите создать новую базу данных (БД), то:

      1. Укажите «2».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя новой БД.

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.

s  key

Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «tadm» и пароль «admin» от учетной записи по умолчанию.

  • Если брокер установился с ошибкой, то проверьте логи в контейнерах: «config-service» и «broker-client» с помощью команды:

    sudo docker logs %ID_Контейнера%
  • В случае переустановки брокера выполните шаги по деинсталляции.

Astra Linux

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  2. Выбор команды для установки Docker Compose зависит от версии операционной системы.

  1. Установите Docker и Docker Compose:

    • Для Astra Linux 1.7 выполните команду:

      sudo apt install docker.io docker-compose
      Пакет docker-compose в Astra Linux 1.7 является устаревшим. В связи с этим могут возникать различия в разделителях в названиях контейнеров (комбинация символов _ и -).
    • Для Astra Linux 1.8 выполните команду:

      sudo apt install docker.io docker-compose-v2

      Подробнее об установке Docker Compose v2 в Astra Linux 1.8 можно прочесть на официальном сайте Astra Linux.

  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl start docker
  3. Скопируйте дистрибутив на сервер.

  4. Распакуйте архив с помощью команды:

    unzip termit-2.*.*-*.zip
  5. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  6. Запустите скрипт:

    sudo ./install.sh install
  7. Введите пароль администратора системы.

  8. Укажите имя узла брокера. Имя может быть любым.

  9. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of a new cluster
    2. Add a new node to existing cluster
    Enter 1 or 2»

    Укажите «1».

  10. Введите FQDN адрес брокера (инсталляция «Standalone») или балансировщика (инсталляция «HA»), например «broker.example.com». Портал будет доступен по этому адресу.

  11. Появится сообщение:

    Do you want to connect to an existing database or create a new one? (1/2)
    
    1. Connect to an existing database
    2. Create new database
    
    Enter 1 or 2?
    1. Если вы хотите подключиться к существующей базе данных (БД), то:

      1. Укажите «1».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя БД, например «example».

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

    2. Если вы хотите создать новую базу данных (БД), то:

      1. Укажите «2».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя новой БД.

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.

s  key

Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «tadm» и пароль «admin» от учетной записи по умолчанию.

  • Если брокер установился с ошибкой, то проверьте логи в контейнерах: «config-service» и «broker-client» с помощью команды:

    sudo docker logs %ID_Контейнера%
  • В случае переустановки брокера выполните шаги по деинсталляции.

  • Подробнее о настройках Docker в операционной системе Astra Linux можно прочесть на официальном сайте Astra Linux.

ALT Linux

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo apt-get install docker-ce docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. Распакуйте архив с помощью команды:

    unzip ./termit-2.1*.*-*.zip
  4. Запустите установку с помощью команды:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of a new cluster
    2. Add a new node to existing cluster
    Enter 1 or 2»

    Укажите «1».

  8. Введите FQDN адрес брокера (инсталляция «Standalone») или балансировщика (инсталляция «HA»), например «broker.example.com». Портал будет доступен по этому адресу.

  9. Появится сообщение:

    Do you want to connect to an existing database or create a new one? (1/2)
    
    1. Connect to an existing database
    2. Create new database
    
    Enter 1 or 2?
    1. Если вы хотите подключиться к существующей базе данных (БД), то:

      1. Укажите «1».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя БД, например «example».

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

    2. Если вы хотите создать новую базу данных (БД), то:

      1. Укажите «2».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя новой БД.

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.

s  key

Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «tadm» и пароль «admin» от учетной записи по умолчанию.

  • Если брокер установился с ошибкой, то проверьте логи в контейнерах: «config-service» и «broker-client» с помощью команды:

    sudo docker logs %ID_Контейнера%
  • В случае переустановки брокера выполните шаги по деинсталляции.

Debian

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo apt install docker.io docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. Распакуйте архив с помощью команды:

    unzip termit-2.*.*-*.zip
  4. Запустите установку с помощью команды:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of a new cluster
    2. Add a new node to existing cluster
    Enter 1 or 2»

    Укажите «1».

  8. Введите FQDN адрес брокера (инсталляция «Standalone») или балансировщика (инсталляция «HA»), например «broker.example.com». Портал будет доступен по этому адресу.

  9. Появится сообщение:

    Do you want to connect to an existing database or create a new one? (1/2)
    
    1. Connect to an existing database
    2. Create new database
    
    Enter 1 or 2?
    1. Если вы хотите подключиться к существующей базе данных (БД), то:

      1. Укажите «1».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя БД, например «example».

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

    2. Если вы хотите создать новую базу данных (БД), то:

      1. Укажите «2».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя новой БД.

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.

s  key

Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «tadm» и пароль «admin» от учетной записи по умолчанию.

OpenSUSE

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo zypper install docker docker-compose docker-compose-switch
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. Скопируйте дистрибутив на сервер.

  4. Распакуйте архив с помощью команды:

    unzip ./termit-2.1*.*-*.zip
  5. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  6. Запустите скрипт:

    sudo ./install.sh install
  7. Введите пароль администратора системы.

  8. Укажите имя узла брокера. Имя может быть любым.

  9. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of a new cluster
    2. Add a new node to existing cluster
    Enter 1 or 2»

    Укажите «1».

  10. Введите FQDN адрес брокера (инсталляция «Standalone») или балансировщика (инсталляция «HA»), например «broker.example.com». Портал будет доступен по этому адресу.

  11. Появится сообщение:

    Do you want to connect to an existing database or create a new one? (1/2)
    
    1. Connect to an existing database
    2. Create new database
    
    Enter 1 or 2?
    1. Если вы хотите подключиться к существующей базе данных (БД), то:

      1. Укажите «1».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя БД, например «example».

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

    2. Если вы хотите создать новую базу данных (БД), то:

      1. Укажите «2».

      2. Укажите имя хоста БД, например «db.example.com».

      3. Укажите порт «5432».

      4. Укажите имя новой БД.

      5. Укажите имя пользователя БД, например «termit».

      6. Введите пароль для БД.

Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.

s  key

Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «tadm» и пароль «admin» от учетной записи по умолчанию.

  • Если брокер установился с ошибкой, то проверьте логи в контейнерах: «config-service» и «broker-client» с помощью команды:

    sudo docker logs %ID_Контейнера%
  • В случае переустановки брокера выполните шаги по деинсталляции.

8. Установка дополнительного брокера

В этом разделе описано, как установить второй и следующие брокеры.

Перед добавлением брокеров скопируйте дистрибутив на сервер, распакуйте архив и подготовьте ключ шифрования. Рекомендуется создать три брокера для повышения отказоустойчивости, так как:

  • если один из брокеров выйдет из строя, то другие продолжат работать, обеспечивая бесперебойную работу системы;

  • вероятность одновременного сбоя сразу трех брокеров гораздо ниже, что делает систему более устойчивой к неполадкам.

РЕД ОС

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo dnf install docker-ce docker-ce-cli docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  4. Запустите скрипт:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of new cluster
    2. Add new node to existing cluster
    Enter 1 or 2»

    Укажите «2».

  8. Укажите имя хоста базы данных (БД), например «db.example.com».

  9. Укажите порт «5432».

  10. Укажите имя БД, например «example».

  11. Укажите имя пользователя БД, например «termit».

  12. Введите пароль для БД.

  13. Вставьте скопированный ключ шифрования.

  14. Введите адрес, указанный на шаге, и проверьте статус брокера в меню после аутентификации.

Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».

Astra Linux

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo apt install docker.io docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl start docker
  3. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  4. Запустите скрипт:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of new cluster
    2. Add new node to existing cluster
    Enter 1 or 2»

    Укажите «2».

  8. Укажите имя хоста базы данных (БД), например «db.example.com».

  9. Укажите порт «5432».

  10. Укажите имя БД, например «example».

  11. Укажите имя пользователя БД, например «termit».

  12. Введите пароль для БД.

  13. Вставьте скопированный ключ шифрования.

  14. Введите адрес, указанный на шаге, и проверьте статус брокера в меню после аутентификации.

Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».

ALT Linux

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo apt-get install docker-ce docker-compose

    Для Docker Compose v2, устанавливаемого в качестве плагина (проверьте, что у вас установлен именно плагин с помощью команды docker compose version (не путать с docker-compose --version). Если вывод команды содержит установленную версию Docker Compose — у вас установлен плагин) необходимо создать символьную ссылку для корректной работы установочного скрипта. Для этого выполните команду:

    sudo ln -s /usr/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  4. Запустите скрипт:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of new cluster
    2. Add new node to existing cluster
    Enter 1 or 2»

    Укажите «2».

  8. Укажите имя хоста базы данных (БД), например «db.example.com».

  9. Укажите порт «5432».

  10. Укажите имя БД, например «example».

  11. Укажите имя пользователя БД, например «termit».

  12. Введите пароль для БД.

  13. Вставьте скопированный ключ шифрования.

  14. Введите адрес, указанный на шаге, и проверьте статус брокера в меню после аутентификации.

Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».

Debian

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo apt install docker.io docker-compose
  2. Чтобы установленные компоненты добавить в автозагрузку, выполните команду:

    sudo systemctl enable docker --now
  3. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  4. Запустите скрипт:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of new cluster
    2. Add new node to existing cluster
    Enter 1 or 2»

    Укажите «2».

  8. Укажите имя хоста базы данных (БД), например «db.example.com».

  9. Укажите порт «5432».

  10. Укажите имя БД, например «example».

  11. Укажите имя пользователя БД, например «termit».

  12. Введите пароль для БД.

  13. Вставьте скопированный ключ шифрования.

  14. Введите адрес, указанный на шаге, и проверьте статус брокера в меню после аутентификации.

Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».

OpenSUSE

Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2, запрашивая подтверждение):

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

  1. Чтобы установить Docker, Docker Compose, выполните команду:

    sudo zypper install docker docker-compose docker-compose-switch
  2. Запустите службу с помощью команды:

    sudo systemctl enable docker --now
  3. При необходимости назначьте права на запуск скрипта с помощью команды:

    sudo chmod +x ./install.sh
  4. Запустите скрипт:

    sudo ./install.sh install
  5. Введите пароль администратора системы.

  6. Укажите имя узла брокера. Имя может быть любым.

  7. Появится сообщение:

    «What do you want to do? (1/2)
    1. Install first node of new cluster
    2. Add new node to existing cluster
    Enter 1 or 2»

    Укажите «2».

  8. Укажите имя хоста базы данных (БД), например «db.example.com».

  9. Укажите порт «5432».

  10. Укажите имя БД, например «example».

  11. Укажите имя пользователя БД, например «termit».

  12. Введите пароль для БД.

  13. Вставьте скопированный ключ шифрования.

  14. Введите адрес, указанный на шаге, и проверьте статус брокера в меню после аутентификации.

Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».

9. Установка дополнительного ПО на терминальный сервер/ВРМ

Установите дополнительное ПО перед установкой агента на терминальный сервер.

РЕД ОС

Проверьте, что все терминальные серверы введены в домен. Подробнее в статье Ввод РЕД ОС в домен.

  1. В файле конфигурации sshd (/etc/ssh/sshd_config), в параметре X11Forwarding, укажите значение «yes».

  2. Чтобы установить X2Go server на терминальный сервер, выполните команду:

    sudo dnf install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver x2goagent x2goserver-printing cups-x2go
  3. Чтобы избежать ошибки при монтировании сетевых дисков и папок, установите пакеты cifs-utils и autofs с помощью команды:

    sudo dnf install cifs-utils autofs
  4. Для корректного перенаправления смарт-карт на сервер установите утилиту socat с помощью команды:

    sudo dnf install socat
  5. Для работы со смарт-картами:

    1. установите утилиту pcsc-tools:

      sudo dnf install pcsc-tools
    2. запустите службу с помощью команды:

      sudo systemctl enable pcscd.service --now
  6. Установите пакет patch, необходимый для переноса изменений между разными версиями текстовых файлов с помощью команды:

    sudo dnf install patch
  7. Настройте сетевой доступ к локальным хранилищам, установив пакет NFS-хранилища:

    sudo dnf install nfs-utils nfs4-acl-tools
  8. Подготовьте золотой образ, если планируете создать сервер в качестве золотого образа.

    Если планируете использовать как базовый терминальный сервер - установите агент, используя скрипт, полученный при создании сервера.

Astra Linux

Проверьте, что все терминальные серверы введены в домен. Подробнее в статье Ввод Astra Linux в домен.

  1. В файле конфигурации sshd (/etc/ssh/sshd_config), в параметре X11Forwarding, укажите значение «yes».

  2. В файле конфигурации /etc/systemd/logind.conf, в параметре KillUserProcesses задайте значение «no» для корректной работы переподключения сессии и перезагрузите терминальный сервер.

    s  kill user
  3. Установите компоненты X2Go сервера с помощью команды:

    sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent x2goserver-printing cups-x2go
  4. Чтобы избежать ошибки при монтировании сетевых дисков и папок, установите пакеты cifs-utils и autofs с помощью команды:

    sudo apt install cifs-utils autofs
  5. Для корректного перенаправления смарт-карт на сервер установите утилиту socat с помощью команды:

    sudo apt install socat
  6. Для работы со смарт-картами:

    1. установите утилиты pcscd и pcsc-tools c помощью команды:

      sudo apt install pcscd pcsc-tools
    2. запустите службу с помощью команды:

      sudo systemctl enable pcscd.service --now
  7. Установите пакет patch, необходимый для переноса изменений между разными версиями текстовых файлов с помощью команды:

    sudo apt install patch
  8. Подготовьте золотой образ, если планируете создать сервер в качестве золотого образа.

    Если планируете использовать как базовый терминальный сервер - установите агент, используя скрипт, полученный при создании сервера.

ALT Linux

Проверьте, что все терминальные серверы введены в домен. Подробнее в статье Ввод ALT Linux в домен.

  1. В файле конфигурации sshd (/etc/openssh/sshd_config), в параметре X11Forwarding, укажите значение «yes».

  2. В файле конфигурации /etc/systemd/logind.conf, в параметре KillUserProcesses задайте значение «no» для корректной работы переподключения сессии и перезагрузите терминальный сервер.

  3. Установите компоненты X2Go сервера с помощью команды:

    sudo apt-get install x2goserver-xsession x2goserver-fmbindings x2goserver-x2goagent x2goserver-printing cups-x2go
  4. Добавьте X2Go в автозапуск с помощью команды:

    sudo systemctl enable x2goserver --now
  5. Чтобы избежать ошибки при монтировании сетевых дисков и папок, установите пакеты cifs-utils и autofs с помощью команды:

    sudo apt-get install cifs-utils autofs
  6. Для корректного перенаправления смарт-карт на сервер установите утилиту socat с помощью команды:

    sudo apt-get install socat
  7. Для работы со смарт-картами:

    1. установите утилиты pcsc-tools и pcsc-lite-ccid:

      sudo apt-get install pcsc-tools pcsc-lite-ccid
    2. запустите службу с помощью команды:

      sudo systemctl enable pcscd.service --now
  8. Установите пакет patch, необходимый для переноса изменений между разными версиями текстовых файлов с помощью команды:

    sudo apt-get install patch
  9. Установите агент, используя скрипт, полученный при создании сервера.

Debian

Проверьте, что все терминальные серверы введены в домен. Подробнее в статье Ввод Debian в домен.

  1. В файле конфигурации sshd (/etc/ssh/sshd_config), в параметре X11Forwarding, укажите значение «yes».

  2. Установите компоненты X2Go сервера с помощью команды:

    sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent x2goserver-printing cups-x2go
  3. Чтобы избежать ошибки при монтировании сетевых дисков, установите пакет cifs-utils и autofs с помощью команды:

    sudo apt install cifs-utils autofs
  4. Для корректного перенаправления смарт-карт на сервер установите утилиту socat с помощью команды:

    sudo apt install socat
  5. Для работы со смарт-картами:

    1. установите утилиты pcsc-tools и pcsc-lite-ccid:

      sudo apt install pcsc-tools pcsc-lite-ccid
    2. запустите службу с помощью команды:

      sudo systemctl enable pcscd.service --now
  6. Установите пакет patch, необходимый для переноса изменений между разными версиями текстовых файлов с помощью команды:

    sudo apt install patch
  7. Установите пакет libqt5widgets5, необходимый для запуска программ, которые были написаны с использованием графических элементов Qt 5 с помощью команды:

    sudo apt install libqt5widgets5
  8. Установите агент, используя скрипт, полученный при создании сервера.

OpenSUSE

В этой инструкции приведен пример установки пакета для X2Go, скачанного по этой ссылке.

  • В репозиториях OpenSUSE нет официального пакета для X2Go. Есть только экспериментальная версия, доступная по ссылке.

  • Проверьте, что все терминальные серверы введены в домен. Подробнее в статье Ввод OpenSUSE в домен. Далее проверьте конфигурацию файла sssd.conf, находящийся по пути sudo vim /etc/sssd/sssd.conf и установите значение False в следующей строке:

    use_fully_qualified_names = False
  • Проверьте, что на всех терминальных серверах/ВРМ доступны порты. Подробнее в статье Требования к развертыванию.

  1. Добавьте репозиторий X2Go с помощью команды:

    sudo zypper addrepo -f http://packages.x2go.org/opensuse/15.4/main x2go_repos
  2. Обновите репозиторий с помощью команды:

    sudo zypper refresh
  3. Установите компоненты X2Go сервера с помощью команды:

    sudo zypper install x2goserver x2goserver-printing cups-x2go
  4. Добавьте X2Go в автозапуск с помощью команды:

    sudo systemctl enable x2goserver.service --now
  5. Проверьте статус службы x2goserver с помощью команды:

    sudo systemctl status x2goserver.service

    Статус должен быть «Active».

  6. Чтобы избежать ошибки при монтировании сетевых дисков, установите пакеты cifs-utils и autofs с помощью команды:

    sudo zypper install cifs-utils autofs
  7. Для работы со смарт-картами:

    1. установите утилиту pcsc-lite и pcsc-tools с помощью команды:

      sudo zypper install pcsc-lite pcsc-tools
    2. запустите службу с помощью команды:

      sudo systemctl enable pcscd.service --now
  8. Установите пакет patch, необходимый для переноса изменений между разными версиями текстовых файлов с помощью команды:

    sudo zypper install patch
  9. Для корректного перенаправления смарт-карт на сервер установите утилиту socat с помощью команды:

    sudo zypper install socat
  10. Установите агент, используя скрипт, полученный при создании сервера, добавив в конце параметр -p /etc/systemd/system/.

    Пример скрипта:

    rm -f ./agent-installer && wget --no-check-certificate https://<FQDN брокера/балансировщика>/dist/agent-installer -O agent-installer && sudo chmod +x agent-installer && sudo ./agent-installer install https://<FQDN брокера/балансировщика> <секрет> -p /etc/systemd/system/

    Последний параметр является опциональным и указывается в тех случаях, когда каталог systemd отсутствует в директории /lib (то есть не существует пути /lib/systemd/system/, необходимого для установки агента) и находится по другому пути. В случае OpenSUSE для доступа к каталогу systemd необходимо указывать параметр -p /etc/systemd/system/ в конце скрипта, иначе агент не будет установлен.

    Пример:

    s  install opensuse3

Windows

  1. Для Windows Server 2012R2 и Windows Server 2016 (редакции ниже 1803) необходимо:

    1. Установить утилиту curl.

    2. Установочные файлы из архива curl, из каталога bin, разместить в системной директории C:\Windows\system32.

  2. Проверьте, что все терминальные серверы, созданные базовым способом, введены в домен. Подробнее в статье Ввод Windows в домен.

  3. Пункт 1 настоящей инструкции для ОС Windows относится только к терминальным серверам.

  1. Установите роль «Remote Desktop Session Host» («Узел сеансов удаленных рабочих столов») c помощью команды powershell:

    Install-WindowsFeature -Name RDS-RD-Server -IncludeManagementTools

    После установки и добавления роли перезагрузите ВМ.

  2. Включите политики для разрешения запуска любых программ:

    Для ТС
    • с помощью powershell на локальной машине:

      New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "fAllowUnlistedRemotePrograms" -Value 1 -PropertyType "DWord" -Force
    • или через доменную политику: Конфигурация компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Подключения  Разрешить удаленный запуск любых программ.

    Для ВРМ
    • с помощью powershell на локальной машине:

      New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList" -Name "fDisabledAllowList" -Value 1 -PropertyType DWord -Force
      
      New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "fAllowUnlistedRemotePrograms" -Value 1 -PropertyType "DWord" -Force
    • или через доменную политику: Конфигурация компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Подключения  Разрешить удаленный запуск любых программ.

  3. Для ВРМ Настройте автоматический запуск агента с помощью powershell на локальной машине:

    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -Name "TermitLauncher" -Value '"C:\Program Files\TermitAgent\agent-session-launcher.exe" vdi_desktop_launch' -PropertyType String -Force
  4. Установите Latest Microsoft Visual C++ Redistributable Version.

  5. Настройте разрешение на подключение пользователей по RDP:

    1. Откройте Управление компьютером и выберите Локальные пользователи и группы.

    2. Добавьте в группу «Пользователи удаленного рабочего стола» объект из LDAP-каталога для запуска приложений/рабочих столов, например Пользователи домена.

  6. Добавьте правило в firewall, выполнив команду в командной строке Windows (CMD), согласно таблице.

  7. Установите агент, используя скрипт, полученный при создании сервера базовым способом. Установка должна выполняться с правами администратора.

    При создании ТС/ВРМ через золотой образ, выполнение пункта 7 требуется пропустить.

  8. Для перенаправления устройств и ресурсов необходимо выполнить настройки групповых политик ОС Windows, которые реализуют аналогичные настройки Termit, приведенные в таблице ниже.

    По умолчанию значение обозначенных GPO политик выставлено в Не задано.

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

    Категория политики Termit Название политики Termit Статус настройки политики по умолчанию GPO-настройка Значение GPO — Статус политики Termit

    Перенаправление устройств и ресурсов

    Перенаправление буфера обмена

    Разрешено

    Путь: Конфигурации компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Перенаправление устройств и ресурсов.

    Параметр: Не разрешать перенаправление буфера обмена.

    • Не задано — Разрешено

    • Отключено — Разрешено

    • Включено — Запрещено

    Перенаправление устройств и ресурсов

    Перенаправление звука и микрофона

    Разрешено

    Путь: Конфигурации компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Перенаправление устройств и ресурсов.

    Параметры:

    1. Разрешить перенаправление воспроизведения звука и видео

    2. Разрешить перенаправление записи звука

    1. Звук и видео:

      • Не задано — Разрешено

      • Отключено — Запрещено

      • Включено — Разрешено

    2. Запись звука:

      • Не задано — Разрешено

      • Отключено — Запрещено

      • Включено — Разрешено

    Перенаправление устройств и ресурсов

    Перенаправление файловой системы (локальных дисков)

    Разрешено

    Путь: Конфигурации компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Перенаправление устройств и ресурсов.

    Параметр: Не разрешать перенаправление дисков

    • Не задано — Разрешено

    • Отключено — Разрешено

    • Включено — Запрещено

    Перенаправление устройств и ресурсов

    Перенаправление смарт-карт

    Запрещено

    Путь: Конфигурации компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Перенаправление устройств и ресурсов.

    Параметр: Не разрешать перенаправление устройств чтения смарт-карт

    • Не задано — Разрешено

    • Отключено — Разрешено

    • Включено — Запрещено

    Управление профилями

    Перемещаемые профили: путь к домашнему каталогу

    Запрещено

    Путь: Конфигурация компьютера  Политики  Административные шаблоны  Система  Профили пользователей.

    Установите путь к перемещаемым профилям для всех пользователей, входящих в систему на данном компьютере

    Значение параметра — путь до общей папки, в которой хранятся профили.

    • Не задано — Запрещено

    • Отключено — Запрещено

    • Включено — Разрешено

    Управление профилями

    Перемещаемые профили

    Запрещено

    Описывается в предыдущем пункте

    Печать

    Доступ к принтерам локального компьютера

    Разрешено

    Путь: Конфигурации компьютера  Политики  Административные шаблоны  Компоненты Windows  Службы удаленных рабочих столов  Узел сеансов удаленных рабочих столов  Перенаправление принтеров.

    Параметр: Не разрешать перенаправление для клиентского принтера.

    • Не задано — Разрешено

    • Отключено — Разрешено

    • Включено — Запрещено

10. Аутентификация пользователя на терминальном сервере по сертификату

При выключенном Kerberos на десктоп-клиенте

В этом разделе описано, как настроить аутентификацию пользователя на терминальном сервере по сертификату при выключенном Kerberos на десктоп-клиенте.

Linux

Для повышения безопасности подключения пользователей к терминальным серверам настройте аутентификацию по сертификату. Это можно сделать тремя способами:

Способ 1. Через условный блок, используя один порт для подключения

  1. Для этого после установки терминального агента в конце файла /etc/ssh/sshd_config(РЕД ОС, AstraLinux, Debian, OpenSUSE)/ /etc/openssh/sshd_config(ALT Linux) добавьте строки:

    TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
    AuthenticationMethods publickey,password
    Match User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey

    Таким образом обычным пользователям разрешается заходить только с использованием временных сертификатов, подписанных доверенным ключом. При этом администратор системы может подключаться с использованием пароля или ключа, как и до внесения изменений.

  2. Перезагрузите sshd с помощью команды:

    sudo systemctl restart sshd

Способ 2. Через условный блок, используя два порта (для пользователей и администратора)

  1. Для этого после установки терминального агента в файле /etc/ssh/sshd_config(РЕД ОС, AstraLinux, Debian, OpenSUSE)/ /etc/openssh/sshd_config(ALT Linux) раскомментируйте строку с указанием порта, если она ранее не была изменена (Смотрите Ручное изменение портов в файле конфигурации шлюза и агента).

  2. Ниже добавьте похожую строку с указанием произвольного порта, по которому сможет подключаться только администратор системы:

    Port 22
    Port 2222

    Где:

    • Port 22 — порт для пользователей;

    • Port 2222 — порт для администратора.

  3. В том же файле в конце добавьте строки:

    Match LocalPort 22
          TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
          AuthenticationMethods publickey,password
    Match LocalPort 2222, User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey

    Таким образом обычным пользователям разрешается заходить только с использованием временных сертификатов, подписанных доверенным ключом, но только через порт 22. При этом администратор системы может подключаться с использованием пароля или ключа, как и до внесения изменений, но только через порт 2222.

  4. Перезагрузите sshd с помощью команды:

    sudo systemctl restart sshd

    На системах с SELinux (например РЕД ОС) могут возникнуть проблемы при использовании нового порта для SSH. Чтобы разрешить сервису SSH использовать новый порт, выполните команду:

    sudo semanage port -a -t ssh_port_t -p tcp 2222

Способ 3. Через дублирование ssh-сервиса

  1. Создайте копии конфигурационного файла с помощью команды:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_crt_pwd
    2. Для ALT Linux:

      sudo cp /etc/openssh/sshd_config /etc/openssh/sshd_config_crt_pwd
  2. В новом конфигурационном файле измените строку с портом на любой другой:

    Port 2222
  3. Создайте новый сервис sshd через копирование конфигурации существующего сервиса с помощью команды:

    sudo cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd_crt_pwd.service
  4. Измените строку ExecStart (укажите путь до нового конфигурационного файла sshd_config_crt_pwd) в скопированном файле:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sshd_config_crt_pwd
    2. Для ALT Linux:

      ExecStart=/usr/sbin/sshd -D -f /etc/openssh/sshd_config_crt_pwd
  5. Запустите и добавьте в автозагрузку новый сервис с помощью команды:

    sudo systemctl enable --now sshd_crt_pwd.service

    На системах с SELinux (например РЕД ОС) могут возникнуть проблемы при использовании нового порта для SSH. Чтобы разрешить сервису SSH использовать новый порт, выполните команду:

    sudo semanage port -a -t ssh_port_t -p tcp 2222
  6. Добавьте в конце конфигурационного файла первого экземпляра ssh-сервиса /etc/ssh/sshd_config/ /etc/openssh/sshd_config(ALT Linux):

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      AllowUsers ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
    2. Для ALT Linux:

      AllowUsers ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ

      Таким образом по порту 22 сможет подключаться только администратор системы.

  7. Добавьте в конце конфигурационного файла первого экземпляра ssh-сервиса /etc/ssh/sshd_config_crt_pwd:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
      AuthenticationMethods publickey,password
    2. Для ALT Linux:

      TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
      AuthenticationMethods publickey,password

      Таким образом по 2222 порту смогут подключаться остальные пользователи, которые предоставят сертификат, подписанный доверенным ключом.

  8. Перезапустите сервисы с помощью команды:

    sudo systemctl restart sshd && sudo systemctl restart sshd_crt_pwd

Windows

На ТС Windows необходимо скачать и установить OpenSSH версии v9.5.0.0p1-Beta.

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

  1. Настройте терминальный агент в конфигурационном файле C:\ProgramData\ssh\sshd_config. Для этого:

    1. В файле конфигурации агента "C:\Program Files\TermitAgent\config\config" измените параметр TERMIT_AGENT_RDP_PORT. Например:

      TERMIT_AGENT_RDP_PORT=13389
    2. Перезапустите агент с помощью команды:

      Restart-Service termit-agent -Force
    3. В файле конфигурации агента "C:\ProgramData\ssh\sshd_config" измените параметр Port. Например:

      Port 13389
    4. Перезапустите сервис с помощью команды:

      Restart-Service sshd -Force

      Подробнее смотрите в разделе.

  2. Настройте ssh. Это можно сделать двумя способами:

Способ 1. Через условный блок, используя один порт для подключения

  1. Откройте конфигурационный файл SSH (C:\ProgramData\ssh\sshd_config) и перед строками:

    Match Group administrators
           AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

    добавьте:

    casignaturealgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    
    PubkeyAcceptedAlgorithms=ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa-cert-v01@openssh.com,ssh-rsa
    
    TrustedUserCAKeys "C:\Program Files\TermitAgent\config\termit-ssh-ca.pub"
    
    AuthenticationMethods publickey
    
    Match User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey

    Таким образом обычным пользователям разрешается заходить только с использованием временных сертификатов, подписанных доверенным ключом. При этом администратор системы может подключаться с использованием пароля или ключа, как и до внесения изменений.

  2. Перезагрузите sshd с помощью команды:

    Restart-Service sshd -Force

Способ 2. Через условный блок, используя два порта (для пользователей и администратора)

  1. В конфигурационном файле SSH (C:\ProgramData\ssh\sshd_config) добавьте похожую строку с указанием произвольного порта, по которому сможет подключаться только администратор системы:

    Port 2222

    Где:

    • Port 2222 — порт для администратора.

  2. В том же файле перед строками:

    Match Group administrators
           AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

    Добавьте:

    Match LocalPort 13389
          casignaturealgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    
          PubkeyAcceptedAlgorithms=ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa-cert-v01@openssh.com,ssh-rsa
    
          TrustedUserCAKeys "C:\Program Files\TermitAgent\config\termit-ssh-ca.pub"
    
          AuthenticationMethods publickey
    
    Match LocalPort 2222, User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey
  3. Перезагрузите sshd с помощью команды:

    Restart-Service sshd -Force

Чтобы разрешить сервису SSH использовать новый порт, требуется открыть входящее подключение. Для этого выполните команду:

New-NetFirewallRule -DisplayName "SSH Range" -Direction Inbound -Protocol TCP -LocalPort 13389,2222 -Action Allow

При включенном Kerberos на десктоп-клиенте

В этом разделе описано, как настроить аутентификацию пользователя на терминальном сервере по сертификату при включенном Kerberos на десктоп-клиенте.

Linux

Для повышения безопасности подключения пользователей к терминальным серверам настройте аутентификацию по сертификату. Это можно сделать тремя способами:

Способ 1. Через условный блок, используя один порт для подключения

  1. Для этого после установки терминального агента в конце файла /etc/ssh/sshd_config(РЕД ОС, AstraLinux, Debian, OpenSUSE)/ /etc/openssh/sshd_config(ALT Linux) добавьте строки:

    TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
    AuthenticationMethods gssapi-with-mic publickey,password
    Match User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey

    Таким образом обычным пользователям разрешается заходить только с использованием временных сертификатов, подписанных доверенным ключом. При этом администратор системы может подключаться с использованием пароля или ключа, как и до внесения изменений.

  2. Перезагрузите sshd с помощью команды:

    sudo systemctl restart sshd

Способ 2. Через условный блок, используя два порта (для пользователей и администратора)

  1. Для этого после установки терминального агента в файле /etc/ssh/sshd_config(РЕД ОС, AstraLinux, Debian, OpenSUSE)/ /etc/openssh/sshd_config(ALT Linux) раскомментируйте строку с указанием порта, если она ранее не была изменена (Смотрите Ручное изменение портов в файле конфигурации шлюза и агента).

  2. Ниже добавьте похожую строку с указанием произвольного порта, по которому сможет подключаться только администратор системы:

    Port 22
    Port 2222

    Где:

    • Port 22 — порт для пользователей;

    • Port 2222 — порт для администратора.

  3. В том же файле в конце добавьте строки:

    Match LocalPort 22
          TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
          AuthenticationMethods gssapi-with-mic publickey,password
    Match LocalPort 2222, User ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
          AuthenticationMethods password publickey

    Таким образом обычным пользователям разрешается заходить только с использованием временных сертификатов, подписанных доверенным ключом, но только через порт 22. При этом администратор системы может подключаться с использованием пароля или ключа, как и до внесения изменений, но только через порт 2222.

  4. Перезагрузите sshd с помощью команды:

    sudo systemctl restart sshd

    На системах с SELinux (например РЕД ОС) могут возникнуть проблемы при использовании нового порта для SSH. Чтобы разрешить сервису SSH использовать новый порт, выполните команду:

    sudo semanage port -a -t ssh_port_t -p tcp 2222

Способ 3. Через дублирование ssh-сервиса

  1. Создайте копии конфигурационного файла с помощью команды:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_crt_pwd
    2. Для ALT Linux:

      sudo cp /etc/openssh/sshd_config /etc/openssh/sshd_config_crt_pwd
  2. В новом конфигурационном файле измените строку с портом на любой другой:

    Port 2222
  3. Создайте новый сервис sshd через копирование конфигурации существующего сервиса с помощью команды:

    sudo cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd_crt_pwd.service
  4. Измените строку ExecStart (укажите путь до нового конфигурационного файла sshd_config_crt_pwd) в скопированном файле:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      ExecStart=/usr/sbin/sshd -D -f /etc/ssh/sshd_config_crt_pwd
    2. Для ALT Linux:

      ExecStart=/usr/sbin/sshd -D -f /etc/openssh/sshd_config_crt_pwd
  5. Запустите и добавьте в автозагрузку новый сервис с помощью команды:

    sudo systemctl enable --now sshd_crt_pwd.service

    На системах с SELinux (например РЕД ОС) могут возникнуть проблемы при использовании нового порта для SSH. Чтобы разрешить сервису SSH использовать новый порт, выполните команду:

    sudo semanage port -a -t ssh_port_t -p tcp 2222
  6. Добавьте в конце конфигурационного файла первого экземпляра ssh-сервиса /etc/ssh/sshd_config/ /etc/openssh/sshd_config(ALT Linux):

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      AllowUsers ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ
    2. Для ALT Linux:

      AllowUsers ИМЯ_АДМИНИСТРАТОРА_СИСТЕМЫ

      Таким образом по порту 22 сможет подключаться только администратор системы.

  7. Добавьте в конце конфигурационного файла первого экземпляра ssh-сервиса /etc/ssh/sshd_config_crt_pwd:

    1. Для РЕД ОС, AstraLinux, Debian, OpenSUSE:

      TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
      AuthenticationMethods gssapi-with-mic publickey,password
    2. Для ALT Linux:

      TrustedUserCAKeys /etc/termit-agent/termit-ssh-ca.pub
      AuthenticationMethods gssapi-with-mic publickey,password

      Таким образом по 2222 порту смогут подключаться остальные пользователи, которые предоставят сертификат, подписанный доверенным ключом.

  8. Перезапустите сервисы с помощью команды:

    sudo systemctl restart sshd && sudo systemctl restart sshd_crt_pwd

Windows

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

11. Установка шлюза удаленного доступа

В этом разделе описано, как установить шлюз удаленного доступа и настроить аутентификацию.

Установка шлюза

РЕД ОС

SSH-шлюз

Установите компонент openssh-server:

sudo dnf install openssh-server

TLS-шлюз

  1. Установите дополнительное ПО на TLS-шлюз:

    sudo dnf install wget
  2. Установите агент, используя скрипт, полученный при создании TLS-шлюза по следующему пути:

    1. На портале администрирования в левом меню выберите раздел Настройки.

    2. Перейдите на вкладку Внешний доступ.

    3. Наведите курсор на шлюз и нажмите b  more vert.

    4. Нажмите Установить агент.

    5. Скопируйте команду для установки агента и выполните ее на шлюзе удаленного доступа.

  3. Разрешите работу в SELinux с помощью команды:

    sudo semanage port -a -t http_port_t -p tcp 4443
Astra Linux

SSH-шлюз

Установите компонент openssh-server:

sudo apt install openssh-server

TLS-шлюз

  1. Установите дополнительное ПО на TLS-шлюз:

    sudo apt install wget
  2. Установите агент, используя скрипт, полученный при создании TLS-шлюза по следующему пути:

    1. На портале администрирования в левом меню выберите раздел Настройки.

    2. Перейдите на вкладку Внешний доступ.

    3. Наведите курсор на шлюз и нажмите b  more vert.

    4. Нажмите Установить агент.

    5. Скопируйте команду для установки агента и выполните ее на шлюзе удаленного доступа.

ALT Linux

SSH-шлюз

Установите компонент openssh-server:

sudo apt-get install openssh-server

TLS-шлюз

  1. Установите дополнительное ПО на TLS-шлюз:

     sudo apt-get install wget
  2. Установите агент, используя скрипт, полученный при создании TLS-шлюза по следующему пути:

    1. На портале администрирования в левом меню выберите раздел Настройки.

    2. Перейдите на вкладку Внешний доступ.

    3. Наведите курсор на шлюз и нажмите b  more vert.

    4. Нажмите Установить агент.

    5. Скопируйте команду для установки агента и выполните ее на шлюзе удаленного доступа.

Debian

SSH-шлюз

Установите компонент openssh-server:

sudo apt install openssh-server

TLS-шлюз

  1. Установите дополнительное ПО на TLS-шлюз:

    sudo apt install wget
  2. Установите агент, используя скрипт, полученный при создании TLS-шлюза по следующему пути:

    1. На портале администрирования в левом меню выберите раздел Настройки.

    2. Перейдите на вкладку Внешний доступ.

    3. Наведите курсор на шлюз и нажмите b  more vert.

    4. Нажмите Установить агент.

    5. Скопируйте команду для установки агента и выполните ее на шлюзе удаленного доступа.

OpenSUSE

SSH-шлюз

Установите компонент openssh-server:

sudo zypper install openssh-server

TLS-шлюз

  1. Установите дополнительное ПО на TLS-шлюз:

    sudo zypper install wget
  2. Установите агент, используя скрипт, полученный при создании TLS-шлюза по следующему пути:

    1. На портале администрирования в левом меню выберите раздел Настройки.

    2. Перейдите на вкладку Внешний доступ.

    3. Наведите курсор на шлюз и нажмите b  more vert.

    4. Нажмите Установить агент.

    5. Скопируйте команду для установки агента и выполните ее на шлюзе удаленного доступа.

Настройка шлюза удаленного доступа

  1. Параметры, описанные ниже, необходимы только для настройки SSH-шлюза.

  2. В версии 2.5 Termit будет прекращена поддержка SSH-шлюза.

Настройка аутентификации шлюза по LDAP

Настройте шлюз удаленного доступа через ввод в домен. Подробнее о вводе в домен смотрите в статье на сайтах:

По умолчанию при потере соединения сессия остается в статусе «Активная».

Чтобы изменить поведение сессии и перевести ее в статус «Отключена» в панели администрирования, необходимо в файле конфигурации шлюза удаленного доступа /etc/ssh/sshd_config изменить параметры ClientAliveInterval и ClientAliveCountMax.

Пример:

  • ClientAliveInterval — 15

  • ClientAliveCountMax — 3

Сессия переходит в статус «Отключена» через 45 секунд.

Аутентификация пользователя на шлюзе по сертификату

При использовании терминальных серверов/ВРМ с настроенной аутентификацией по сертификату и при организации внешнего доступа через SSH-шлюз, необходимо настроить SSH-шлюз для аутентификации пользователей на нём по сертификату. Для этого выполните следующие действия:

  1. Скачайте корневой сертификат в настройках внешнего подключения.

  2. Добавьте в файл конфигурации /etc/ssh/sshd_config (для Alt Linux /etc/openssh/sshd_config) строки:

    TrustedUserCAKeys /etc/ssh/key.pub
    AuthenticationMethods publickey

    (для Alt Linux TrustedUserCAKeys /etc/openssh/key.pub)

  3. Назначьте права на файл с помощью команды:

    sudo chmod 600 /etc/ssh/key.pub
  4. Перезагрузите sshd с помощью команды:

    sudo systemctl restart sshd

Сервер настроен на допуск всех пользователей, предоставляющих сертификат, выданный центром сертификации (root_ca), при подключении.

12. Установка десктоп-клиента

Установите клиент Loudplay при подключении через ВРМ.

Перед началом работы скачайте и установите десктоп-клиент. Сделать это можно двумя способами: скачать файл для установки по ссылке или скачать файл для установки из портала администрирования. Для того, чтобы скачать и установить дескоп-клиент:

  1. В адресной строке браузера введите адрес брокера, например https://broker.example.com.

  2. Выберите источник авторизации:

    • Авто. Система автоматически выберет LDAP-каталог из списка доступных каталогов или внутренних пользователей.

    • Внутренние пользователи. Вход будет выполнен под учетной записью локального администратора «tadm».

    • Имя LDAP-каталога, отображаемое полное имя которого было задано при добавлении в систему, например «ldap123».

  3. Для входа под учетной записью локального администратора системы укажите в поле ввода:

    • Ваш логин — «tadm».

    • Пароль — пароль по умолчанию «admin».

      Пользователь входит под доменной учетной записью. Атрибут для имени пользователя указан в настройках LDAP раздел тип LDAP в графе «Атрибут, используемый для поиска пользователя».

  4. Нажмите Войти.

    s  login5

    После успешного входа в систему откроется интерфейс портала администрирования.

  5. В левом меню выберите раздел Скачать клиент.

  6. Выберите операционную систему и установите десктоп-клиент.

Linux

РЕД ОС

Десктоп-клиент поддерживает только FreeRDP версии 2 (freerdp2). При установке десктоп-клиента пакет freerdp2 будет установлен автоматически.

  1. Перейдите на вкладку Linux.

  2. Скачайте Десктоп-клиент для Linux  RPM и выполните шаги по установке.

  3. Обновите репозиторий с помощью команды:

    sudo dnf update
  4. Установите десктоп-клиент:

    sudo dnf install ./termit-desktop-2.*.rpm

    Где:

    ./termit-desktop-2.*.rpm — название файла.

Astra Linux

Десктоп-клиент поддерживает только FreeRDP версии 2 (freerdp2). При установке десктоп-клиента пакет freerdp2 будет установлен автоматически.

  1. Перейдите на вкладку Linux.

  2. Скачайте Десктоп-клиент для Linux  DEB.

  3. Установите клиент Termit:

    sudo apt install ./termit-desktop-2.*.deb

    Где:

    ./termit-desktop-2.*.deb — название файла.

Установка в замкнутой программной среде

  1. Перед установкой поместите публичный (открытый) ключ, скачанный с брокера по пути https://broker.example.com/dist/termit_astra.key, в директорию /etc/digsig/keys с помощью команды:

    sudo cp %Путь_к_Открытому_Ключу% /etc/digsig/keys
  2. Обновите ключи с помощью команды:

    sudo update-initramfs -u -k all
  3. Перезагрузите ПК.

  4. Включите режим замкнутой программой среды (ЗПС), если не был включен ранее:

    zpc
  5. Установите десктоп-клиент в обычном режиме.

    При отображении «Ошибка сегментирования» ключ не может быть считан.

ALT Linux

Десктоп-клиент поддерживает только FreeRDP версии 2 (freerdp2). При установке десктоп-клиента пакет freerdp2 будет установлен автоматически.

  1. Перейдите на вкладку Linux.

  2. Скачайте Десктоп-клиент для Linux  RPM.

  3. Обновите репозиторий с помощью команды:

    sudo apt-get update
  4. Установите десктоп-клиент:

    sudo apt-get install ./termit-desktop-2.*.rpm
  5. Для корректного запуска десктоп-клиента установите бит setuid:

    sudo chmod 4755 /opt/Термит/chrome-sandbox

Windows

  1. Перейдите на вкладку Windows.

  2. Скачайте Десктоп-клиент для Windows 7 или Десктоп-клиент для Windows 10/11 и установите его.

    Также можно установить десктоп-клиент в «тихом» режиме. Информация о ходе выполнения отображаться не будет. Для установки в таком режиме добавьте параметр /S. Пример: "%путь до exe файла%\termit-desktop-2...exe" /S.

MacOS

  1. Перейдите на вкладку MAC OS.

  2. Скачайте Десктоп-клиент для macOS Ventura 13.4 и выше и выполните шаги по установке.

  3. Скачайте XQuartz и выполните шаги по установке.

  4. Скачайте и установите приложение Microsoft Remote Desktop из App Store.

    Десктоп-клиент поддерживает только Microsoft Remote Desktop. Приложение Windows App десктоп-клиентом не поддерживается.

    При подключении к сессии на терминальном сервере Windows будет открыто приложение Microsoft Remote Desktop и окно для ввода пароля. После ввода пароля запустится сессия. Во время сессии завершать работу приложения Microsoft Remote Desktop нельзя, так как это приведет к отключению от сессии.

Перед запуском десктоп-клиента в настройках необходимо разрешить использование Termit. Для этого выберите в меню Apple  Системные настройки, затем в боковом меню нажмите Конфиденциальность и безопасность, прокрутите вниз до параметра Разрешить использование приложений, загруженных из: и выберите App Store и от подтвержденных разработчиков.

13. Установка сертификата на десктоп-клиент

Для успешного подключения к Termit необходимо, чтобы используемый корневой сертификат был добавлен в список доверенных на десктоп-клиенте.

РЕД ОС

  1. Скопируйте файл корневого сертификата в каталог /etc/pki/ca-trust/source/anchors/ с помощью команды:

    sudo cp %Путь_к_сертификату% /etc/pki/ca-trust/source/anchors/

    Где: %Путь_к_сертификату% — полный путь к файлу сертификата в формате PEM.

  2. Чтобы применить изменения, выполните команды:

    sudo update-ca-trust force-enable
    sudo update-ca-trust extract
  3. Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера.

Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:

Chrome\Chromium
  1. Перейдите в меню Настройки  Конфиденциальность и безопасность  Безопасность  Настроить сертификаты и перейдите на вкладку Центры сертификации.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Firefox
  1. Перейдите в Настройки  Приватность и защита  Защита  Сертификаты  Просмотр сертификатов.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Astra Linux

Сертификат должен быть в формате CRT.

Если формат сертификата отличается, необходимо выполнить его конвертацию используя утилиту openssl, например:

  • Если сертификат имеет кодировку DER:

    openssl x509 -inform DER -in %Исходный_Сертификат% -out %Конечный_Сертификат%
  • Если исходный сертификат имеет кодировку PEM:

    openssl x509 -inform PEM -in %Исходный_Сертификат% -out %Конечный_Сертификат%

    Где:

    • %Исходный_Сертификат% — путь к исходному сертификату «certificate.cer».

    • %Конечный_Сертификат% — путь к конечному сертификату, например «certificate.crt».

      1. Скопируйте полученные выше сертификаты в каталог /usr/local/share/ca-certificates с помощью команды:

        sudo cp %Путь_к_сертификату% /usr/local/share/ca-certificates

        Где: %Путь_к_сертификату% — полный путь к файлу сертификата.

      2. Чтобы применить изменения, выполните команду:

        sudo update-ca-certificates
      3. Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера.

Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:

Chrome\Chromium
  1. Перейдите в меню Настройки  Конфиденциальность и безопасность  Безопасность  Настроить сертификаты и перейдите на вкладку Центры сертификации.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Firefox
  1. Перейдите в Настройки  Приватность и защита  Защита  Сертификаты  Просмотр сертификатов.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

ALT Linux

Подробнее об установке сертификата можно прочесть на официальном сайте.

  1. Скопируйте корневой сертификат в хранилище сертификатов с помощью команды ниже. Сертификат должен быть в формате .CRT.

    sudo cp %путь_к_сертификату% /etc/pki/ca-trust/source/anchors/
  2. Обновите хранилище сертификатов с помощью команды:

    sudo update-ca-trust

Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:

Chrome\Chromium
  1. Перейдите в меню Настройки  Конфиденциальность и безопасность  Безопасность  Настроить сертификаты и перейдите на вкладку Центры сертификации.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Firefox
  1. Перейдите в Настройки  Приватность и защита  Защита  Сертификаты  Просмотр сертификатов.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

OpenSUSE

  1. Скопируйте файл корневого сертификата в каталог /etc/pki/trust/anchors с помощью команды:

    sudo cp %Путь_к_сертификату% /etc/pki/trust/anchors

    Где: %Путь_к_сертификату% — полный путь к файлу сертификата в формате PEM.

  2. Обновите хранилище сертификатов с помощью команды:

    sudo update-ca-certificates
  3. Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера.

Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:

Chrome\Chromium
  1. Перейдите в меню Настройки  Конфиденциальность и безопасность  Безопасность  Настроить сертификаты и перейдите на вкладку Центры сертификации.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Firefox
  1. Перейдите в Настройки  Приватность и защита  Защита  Сертификаты  Просмотр сертификатов.

  2. Добавьте необходимый сертификат или цепочку сертификатов с помощью кнопки Импорт.

  3. Укажите необходимый уровень доверия.

Windows

  1. Запустите сертификат двойным нажатием на него и выберите опцию Установить сертификат.

  2. Выберите опцию Текущий пользователь:

    При работе с правами администратора установка возможна в хранилище сертификатов компьютера (для всех пользователей).

  3. Выберите опцию Поместить все сертификаты в следующие хранилище, нажмите Обзор и выберите Доверенные корневые центры сертификации.

    При наличии промежуточного центра сертификации повторите шаги выше, выбрав хранилище Промежуточные центры сертификации на шаге 3.

  4. Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера.

MacOS

  1. Запустите сертификат двойным нажатием на него, сертификат будет добавлен в приложение Связка ключей.

  2. Найдите в приложении добавленный сертификат или цепочку сертификатов.

  3. Укажите необходимый уровень доверия.

14. Выпуск самоподписанного сертификата

14.1. Создание корневого сертификата (CA)

Ниже описано, как создать корневой сертификат с помощью OpenSSL.

  1. Создайте закрытый ключ корневого сертификата с помощью команды:

    openssl genrsa -out ca.key 4096
  2. Создайте корневой сертификат на основе закрытого ключа с помощью команды:

    openssl req -new -x509 -days 365 -key ca.key -out ca.cert.pem

    При появлении запроса введите пароль для закрытого ключа и сведения об организации, такие как страна или регион, штат, организация, подразделение и FQDN.

    Результат:

    • ca.key — закрытый ключ корневого сертификата;

    • ca.cert.pem — корневой сертификат.

14.2. Создание сертификата сервера

Ниже описано, как создать сертификат сервера с помощью OpenSSL.

  1. Создайте закрытый ключ сертификата сервера с помощью команды:

    openssl genrsa -out server.key 4096
  2. Создайте запрос на подпись сертификата на основе закрытого ключа с помощью команд:

    openssl req -new -key server.key -out server.csr -addext "subjectAltName = DNS:broker.example.com"
    openssl x509 -req -days 365 -in server.csr -CA ca.cert.pem -CAkey ca.key -CAcreateserial -out server.crt -extfile <(printf "subjectAltName=DNS:broker.example.com")

    При появлении запроса введите пароль для корневого ключа и сведения об организации, такие как страна или регион, штат, организация, подразделение и FQDN. CN должно соответствовать DNS-имени сервера, например broker.example.com.

  3. Выпустите сертификат на основе ранее сформированного запроса с помощью команды:

    openssl x509 -in server.crt -text -noout -ext subjectAltName

    Результат:

    • server.key — закрытый ключ для сертификата сервера;

    • server.crt — сертификат сервера.

  4. Импортируйте ключ и сертификат в настройках HTTPS.

15. Обновление пакетов десктоп-клиента на РЕД ОС при установке в закрытом контуре

Когда нет доступа к внешней сети или есть доступ только к определенным ресурсам, то можно обновить пакеты десктоп-клиента на РЕД ОС в закрытом контуре.

  1. Создайте каталог на ПК с помощью команды:

    $ mkdir /home/user/repo
  2. Скачайте пакет termit-desktop в каталог repo.

  3. Скачайте пакеты из репозитория в каталог repo с помощью команды:

    $ dnf repoquery --requires --resolve --recursive ./termit-desktop-2.***.rpm | grep -v "i686" | sort -u > packages.txt
    $ dnf download $(cat packages.txt) --downloaddir .
  4. Перед созданием репозитория установите пакет с помощью команды:

    sudo dnf install createrepo_c
  5. Создайте репозиторий с помощью команды:

    $ createrepo_c .
  6. Перенесите пакеты на другой ПК, на котором нет доступа к внешней сети.

  7. Отключите репозитории на ПК с помощью команды:

    $ sudo dnf config-manager --set-disabled kernels updates base
  8. Добавьте локальный репозиторий с помощью команды:

    $ sudo dnf config-manager --add-repo /home/user/repo
  9. Отключите проверку ключей с помощью команды:

    $ sudo dnf config-manager --save --setopt=home_user_repo.gpgcheck=0
  10. Установите пакет с помощью команды:

    $ sudo dnf install termit-desktop-2.***.rpm

16. Деинсталляция компонентов

Деинсталляция компонентов Termit включает в себя удаление:

  • брокера;

  • агента;

  • клиента.

При необходимости удалите XQuartz и X2Go клиенты на MacOS.

Удаление брокера

Чтобы удалить брокер:

  1. Перейдите в каталог, куда был распакован дистрибутив.

  2. Запустите скрипт с параметром uninstall с помощью команды:

    sudo ./install.sh uninstall

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

Удаление агента

Чтобы удалить агент:

  1. На портале администрирования, в левом меню выберите раздел Серверы.

  2. Наведите курсор на нужный сервер и нажмите на FQDN адрес сервера.

  3. В правом верхнем углу нажмите Дополнительно.

  4. Выберите Удалить агент.

  5. Скопируйте актуальную команду На портале администрирования или предложенную ниже:

    • Для Linux:

      sudo ./agent-installer uninstall
    • Для Windows:

      .\agent-installer.exe uninstall
  6. Для Linux перейдите в каталог, где был запущен скрипт установки агента.

    Для Windows (операция удаления может быть выполнена только с правами администратора) перейдите по пути C:\Program Files\TermitAgent\.

  7. Выполните скопированную команду в терминале.

Агент удален на терминальном сервере.

Удаление десктоп-клиента

РЕД ОС

Чтобы удалить десктоп-клиент, введите команду:

sudo dnf remove termit-desktop

Astra Linux

Чтобы удалить десктоп-клиент, введите команду:

sudo apt remove termit-desktop

ALT Linux

Чтобы удалить десктоп-клиент, введите команду:

sudo apt-get remove termit-desktop

Windows

Чтобы удалить десктоп-клиент:

  1. Введите Панель управления в поле поиска на панели задач, а затем в списке результатов выберите Панель управления.

  2. Перейдите в Программы  Программы и компоненты.

  3. Удалите десктоп-клиент.

Также можно удалить десктоп-клиент в «тихом» режиме. Информация о ходе выполнения отображаться не будет. Для удаления в таком режиме добавьте параметр /S:

 "C:\Program Files\termit-desktop\Uninstall termit-desktop.exe" /S

MacOS

Чтобы удалить десктоп-клиент:

  1. Откройте Finder.

  2. В боковом меню Finder нажмите на Программы.

  3. Удалите десктоп-клиент.