Установка Trialix Connector на Linux
Коннектор для Linux - статический исполняемый файл без зависимостей, пакеты deb и rpm для x86_64 и ARM64. Пакет ставит службу systemd trialix-connector. Как устроена безопасность коннектора, описано в разделе «Trialix Connector: архитектура и безопасность».
Поддерживаемые системы
| Система | Пакет |
|---|---|
| Debian 12 | deb |
| Ubuntu | deb |
| Astra Linux, в том числе в режиме замкнутой программной среды | deb |
| Rocky Linux 9 | rpm |
| RHEL, AlmaLinux, Oracle Linux | rpm |
| РЕД ОС | rpm |
| Альт p11 | rpm (apt-rpm) |
Нужен systemd. Машине нужны исходящий HTTPS (443) к api.trialix.ru и доступ к серверу каталога по порту 636 (LDAPS) или 389 (LDAP со StartTLS). Для шлюза - доступ к нужным внутренним системам.
Astra Linux в режиме замкнутой программной среды. Если на машине включена ЗПС, система запускает только файлы, подписанные доверенным ключом. Сборки коннектора подписаны ключом Trialix (Ed25519); для ЗПС подпишите файл коннектора ключом, которому доверяет ЗПС на вашей машине (обычно это делает служба ИБ), и установите пакет как обычно.
Шаг 1. Получите код подключения
- ЛК, «Каталоги», карточка «Добавить коннектор».
- Введите название и нажмите «Добавить коннектор».
- Скопируйте код
XXXX-XXXX-XXXX. Код показывается один раз и действует час. Новый код - ссылка «Новый код подключения» в карточке коннектора.

Шаг 2. Скачайте и проверьте пакет
VER=0.2.3
BASE=https://api.trialix.ru/v1/connector/download
# выберите свой пакет
curl -fLO $BASE/trialix-connector_${VER}_amd64.deb # Debian, Ubuntu, Astra, x86_64
curl -fLO $BASE/trialix-connector_${VER}_arm64.deb # то же, ARM64
curl -fLO $BASE/trialix-connector-${VER}-1.x86_64.rpm # РЕД ОС, Альт, RHEL, Rocky, x86_64
curl -fLO $BASE/trialix-connector-${VER}-1.aarch64.rpm # то же, ARM64
curl -fLO $BASE/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
Ожидаемый результат - OK у скачанного файла. Подпись самого SHA256SUMS проверяется командами из раздела «Обновления». Через прокси: curl -x http://proxy.company.local:3128 ….
Без пакета можно взять исполняемый файл trialix-connector-${VER}-linux-amd64 (или -linux-arm64), положить в /usr/bin/trialix-connector с правами 0755 и установить службу командой trialix-connector service install.
Шаг 3. Установите пакет
sudo apt install ./trialix-connector_${VER}_amd64.deb # Debian, Ubuntu, Astra Linux
sudo dnf install ./trialix-connector-${VER}-1.x86_64.rpm # РЕД ОС, RHEL, Rocky, AlmaLinux
sudo apt-get install ./trialix-connector-${VER}-1.x86_64.rpm # Альт (apt-rpm)
Пакет кладёт:
| Путь | Что |
|---|---|
/usr/bin/trialix-connector | исполняемый файл |
/lib/systemd/system/trialix-connector.service | служба systemd |
/etc/trialix-connector (0700) | конфигурация и зашифрованные секреты |
/var/log/trialix-connector (0750) | журнал |
Служба после установки не включается: сначала регистрация и настройка.
Шаг 4. Зарегистрируйте коннектор
sudo trialix-connector enroll XXXX-XXXX-XXXX --url https://api.trialix.ru
# через прокси
sudo trialix-connector enroll XXXX-XXXX-XXXX --url https://api.trialix.ru --proxy http://proxy.company.local:3128
Ответ при успехе: «Коннектор зарегистрирован в компании «…». Дальше: trialix-connector setup, затем trialix-connector service install.»
Шаг 5. Настройте подключение к каталогу
Мастер
sudo trialix-connector setup
| Вопрос | Пример ответа |
|---|---|
| Адрес Trialix | https://api.trialix.ru |
| Прокси (http://proxy:3128, пусто - без прокси) | пусто |
| Каталог: ad, samba, freeipa, openldap, custom | samba |
| Адрес каталога (ldaps://dc.company.local:636) | ldaps://dc1.company.local:636 |
| StartTLS (да/нет) | спрашивается только для ldap:// |
| Файл сертификата CA (пусто - системные) | /etc/ssl/certs/company-ca.pem |
| Базовый DN (DC=company,DC=local) | DC=company,DC=local |
| Вход: simple или kerberos | simple |
| Сервисная учётка (DN или user@domain) | svc-trialix@company.local |
| Пароль | пароль сервисной учётной записи |
Пароль при вводе в мастере виден на экране. На общем экране или при записи сеанса используйте настройку без вопросов.
После сохранения мастер сразу запускает проверку.
Без вопросов (Ansible, скрипт)
Пароль передаётся только через переменную окружения. Чтобы он не попал в историю команд, читайте его с клавиатуры:
sudo -i
read -rs SVC_PW && export SVC_PW
trialix-connector setup --profile ad --url ldaps://dc1.company.local:636 \
--base-dn DC=company,DC=local --bind-dn svc-trialix@company.local \
--password-env SVC_PW --ca-file /etc/ssl/certs/company-ca.pem
unset SVC_PW
В Ansible передайте пароль из Vault через environment: задачи и имя переменной в --password-env.
| Флаг | Значение |
|---|---|
--profile | ad, samba, freeipa, openldap, custom |
--url | ldaps://host:636 или ldap://host:389 |
--starttls | StartTLS для ldap:// |
--ca-file | корневой сертификат каталога, PEM |
--base-dn | базовый DN |
--user-base-dn, --group-base-dn | отдельные ветки для сотрудников и групп |
--bind-dn | сервисная учётная запись (DN или user@domain) |
--password-env | имя переменной окружения с паролем |
--kerberos, --keytab, --principal | вход по Kerberos, см. ниже |
--user-filter, --group-filter | свои LDAP-фильтры |
--attr ключ=атрибут | свои атрибуты для профиля custom |
--trialix-url, --proxy | адрес Trialix и прокси |
--insecure | без проверки сертификата каталога, только для тестовой среды |
Каждый вызов setup с флагами меняет только названные параметры.
Шаг 6. Проверьте
sudo trialix-connector doctor
sudo trialix-connector preview # сколько сотрудников и групп видно
sudo trialix-connector preview --json # снимок в том виде, в каком он уходит в Trialix
Все строки doctor должны быть [ok]. Разбор строк [!!] - в разделе «Диагностика ошибок».
Шаг 7. Включите службу
sudo systemctl enable --now trialix-connector
systemctl status --no-pager trialix-connector
Команда sudo trialix-connector service install делает то же самое: записывает службу в /etc/systemd/system, включает и запускает её. Без пакета используйте именно её.
Служба работает от системного пользователя trialix-connector (без прав root, без домашнего каталога и оболочки; пакет и команда service install создают его сами) с ограничениями systemd (NoNewPrivileges, ProtectSystem=full, ProtectHome, PrivateTmp, CapabilityBoundingSet=, SystemCallFilter=@system-service), запись разрешена только в /etc/trialix-connector и /var/log/trialix-connector - их владелец этот пользователь. Регистрацию и настройку вы выполняете от root, при service install файлы переходят к пользователю службы. При сбое служба перезапускается через 10 секунд.
Через минуту в ЛК в карточке коннектора появится «в сети». Дальше - «Обновить список групп» и привязка групп к отделам, см. «Каталоги и Trialix Connector».
Kerberos по keytab
Вместо пароля коннектор может входить в каталог по keytab сервисной учётной записи. Пароль в конфигурации тогда не хранится.
- Выпустите keytab (команды для своего каталога - в разделах Samba AD, FreeIPA, Active Directory).
- Положите его в
/etc/trialix-connector/svc.keytabс правами 0600, владелецtrialix-connector(пользователь службы):chown trialix-connector:trialix-connector /etc/trialix-connector/svc.keytab. - В
/etc/krb5.confдолжна быть описана область (realm) домена. Проверка:kinit -kt /etc/trialix-connector/svc.keytab svc-trialix@COMPANY.LOCAL. - Настройте:
sudo trialix-connector setup --profile ad --url ldaps://dc1.company.local:636 --base-dn DC=company,DC=local \
--kerberos --keytab /etc/trialix-connector/svc.keytab --principal svc-trialix@COMPANY.LOCAL
Principal указывается в виде имя@ОБЛАСТЬ. Адрес каталога - имя сервера (FQDN), не IP: коннектор запрашивает билет для ldap/<имя из адреса>. Часы машины должны совпадать с KDC (Kerberos допускает расхождение до 5 минут).
Шлюз к системам внутри сети
Шлюз нужен, когда Trialix должен читать данные из систем, доступных только из сети компании: внутреннего GitLab или вики, базы данных, общей папки. Как он устроен и что ограничивает, описано в разделе «Архитектура и безопасность». Каталог для шлюза настраивать не обязательно.
sudo trialix-connector gateway enable
# адреса, к которым шлюзу можно обращаться по HTTP
sudo trialix-connector gateway allow add gitlab.company.local
sudo trialix-connector gateway allow add 10.20.0.0/16:443
sudo trialix-connector gateway allow list
# базы и папки
sudo trialix-connector resource add crm-db --type postgres --schemas public
sudo trialix-connector resource add share --type folder --path /mnt/share
sudo trialix-connector resource list
sudo trialix-connector resource test crm-db
sudo trialix-connector gateway status
Служба подхватывает изменения сама, в течение 30 секунд, перезапускать её не нужно.
Разрешённые адреса
| Запись | Что разрешает |
|---|---|
gitlab.company.local | это имя на любом порту |
gitlab.company.local:8443 | это имя только на порту 8443 |
*.company.local | все имена внутри company.local, но не само company.local |
10.20.0.0/16 | любые адреса подсети; имя разрешено, если все его адреса внутри подсети |
10.20.0.0/16:443 | адреса подсети только на порту 443 |
10.20.1.5 | один адрес |
Если в адресе запроса порт не указан, берётся 80 для http:// и 443 для https://. Адрес проверяется при каждом подключении, в том числе после перенаправления. Запрос к адресу вне списка получает ответ «Адрес host:port не разрешён в настройках коннектора». Убрать запись: gateway allow remove <адрес>. Внутренний корневой сертификат для HTTPS указывается в config.json, поле gateway.caFile.
Базы данных
Строку подключения лучше не передавать флагом --dsn, чтобы она не попала в историю команд: без флага коннектор спросит её, не показывая на экране. Для скриптов есть --dsn-env ИМЯ_ПЕРЕМЕННОЙ.
| Тип | Пример строки подключения |
|---|---|
postgres | postgres://trialix_ro:пароль@db.company.local:5432/crm?sslmode=verify-full |
mysql (и MariaDB) | trialix_ro:пароль@tcp(db.company.local:3306)/crm?tls=true |
mssql | sqlserver://trialix_ro:пароль@db.company.local:1433?database=crm |
clickhouse | https://trialix_ro:пароль@ch.company.local:8443/?database=crm (HTTP-интерфейс) |
- Заведите для шлюза отдельную учётную запись только на чтение. Коннектор сам исполняет запросы в режиме чтения, но права учётки - главная защита.
--schemas a,bзадаёт схему по умолчанию: в PostgreSQL этоsearch_path, в MySQL и ClickHouse - первая схема из списка. Запрет на другие схемы задаётся правами учётки.resource testподключается и выполняетselect 1. Строка подключения вresource listне показывается.
Папки
Путь ресурса - полный путь на машине коннектора, например смонтированная сетевая папка /mnt/share. Служба работает с ProtectHome, поэтому папки внутри /home ей не видны: монтируйте общие папки в /mnt или /srv. Шлюз только читает: список файлов, свойства и содержимое файла.
trialix-connector doctor при включённом шлюзе проверяет каждый ресурс и показывает список разрешённых адресов.
Журнал и состояние
journalctl -u trialix-connector -n 100 --no-pager
tail -n 100 /var/log/trialix-connector/connector.log
sudo trialix-connector status # JSON: online, последний пульс, последнее задание, последняя ошибка, состояние шлюза
sudo trialix-connector # экран состояния в терминале
На экране состояния: 1 - мастер настройки, 2 - проверка соединений, 3 - предпросмотр каталога, 4 - журнал, q - выход.
Обновление
sudo trialix-connector update
sudo systemctl restart trialix-connector
Или скачайте новый пакет и установите его поверх старого той же командой, что в шаге 3. Настройки в /etc/trialix-connector сохраняются. Коннектор не устанавливает версию старше установленной: если сервер предложит более старую сборку, команда update откажется с сообщением «сервер предлагает более старую версию».
Удаление
sudo apt remove trialix-connector # Debian, Ubuntu, Astra
sudo dnf remove trialix-connector # РЕД ОС, RHEL, Rocky
sudo apt-get remove trialix-connector # Альт
sudo rm -rf /etc/trialix-connector /var/log/trialix-connector
Перед удалением пакет останавливает и выключает службу. Затем удалите коннектор в ЛК («Удалить коннектор»), чтобы его токен перестал действовать.
Обновлено 24.10.2026