Сервер 1С раздаёт лицензии пользователям: настройка HASP и программных ключей

· 9 мин

Содержание

Лицензии на сервере 1С живут в одном из двух видов: аппаратный ключ HASP в USB-порту или программная лицензия, активированная по ПИН-коду. Ключ удобен, когда сервер физический и рядом. ПИН-код выбирают для виртуальных машин и облака, где воткнуть флешку некуда. Выдача лицензий включается не одной галочкой: нужен рабочий драйвер или файл лицензии, запущенная служба сервера 1С и открытые порты.

Принцип простой. Клиент подключается к кластеру, рабочий процесс сервера ищет свободную лицензию и отдаёт её сеансу. Если лицензии не нашлись, пользователь получает отказ, хотя ключ физически вставлен. Ниже — как собрать цепочку от ключа до сеанса и как найти, где она рвётся.

Как устроено лицензирование: что и кому выдаёт сервер

Есть три разных понятия, и их часто путают.

  • 🔑 Серверная лицензия нужна самому серверу 1С:Предприятия, чтобы запуститься и работать с базами.
  • 👥 Клиентские лицензии (на рабочие места) сервер раздаёт сеансам пользователей. Именно про них обычно спрашивают.
  • 🌐 Лицензии для web-доступа и тонкого клиента через браузер считаются так же, через рабочий процесс.

Кто за что отвечает:

  1. Служба «Агент сервера 1С:Предприятия» поднимает кластер.
  2. Рабочие процессы (rphost) обслуживают сеансы.
  3. Рабочий процесс обращается за лицензией к ключу или к файлу программной лицензии.
  4. Получив лицензию, сеанс стартует. Освободится она при закрытии сеанса.

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

Сколько лицензий реально занято, видно в консоли кластера: раздел кластера «Лицензии» и список сеансов с указанием лицензии. Заглядывайте туда до любых настроек — часто ключ работает, а лимит просто выбран.

Подготовка аппаратного ключа HASP

Начните с драйвера. Без него система не увидит ключ, даже если лампочка на нём горит.

Windows. Установите драйвер защиты Sentinel HASP. Его ставит программа установки платформы (отметьте компонент драйвера защиты) либо отдельный установщик из дистрибутива. После установки проверьте, что в службах появилась служба менеджера лицензий HASP и она запущена.

Проверка ключа. Откройте в браузере на самом сервере http://localhost:1947. Это веб-интерфейс Sentinel Admin Control Center. В разделе «Sentinel Keys» должен быть виден ваш ключ с серийным номером и количеством лицензий. Если список пуст, проблема в драйвере, порте USB или самом ключе, а не в 1С.

Что проверить, если ключ не виден:

  • 🔌 другой USB-порт, без переходников и хабов;
  • 🖥 для виртуальной машины — проброс USB-устройства в гипервизоре (у серверной виртуализации он настраивается отдельно);
  • 🔁 переустановка драйвера нужной версии: на новом ключе старый драйвер не работает , и наоборот.

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

Настройка сервера на Windows

На Windows цепочка такая: драйвер → служба 1С → права → кластер.

Служба сервера 1С

Служба «Агент сервера 1С:Предприятия 8.3» обычно работает от локальной учётной записи USR1CV8. Именно эта учётная запись читает каталог с программными лицензиями. Если вы запускали службу от другого пользователя, у него должны быть права на чтение этого каталога.

Проверьте в оснастке «Службы»:

  1. Служба запущена, тип запуска — автоматический.
  2. Учётная запись входа — та, которую вы ожидаете.
  3. В журнале Windows нет ошибок запуска.

Лицензии в консоли кластера

Откройте консоль администрирования серверов 1С, подключитесь к центральному серверу и раскройте кластер. В узле «Лицензии» видно, какие лицензии сейчас выданы и кому. Если узел пуст при работающих пользователях, значит, клиенты берут лицензии локально.

То же из командной строки (утилита rac, если администрирование включено):

rac cluster list
rac session list --licenses

Первая команда покажет идентификатор кластера, вторая — сеансы с их лицензиями. Остальные параметры смотрите в справке rac help.

Настройка сервера на Linux (CentOS и Ubuntu)

На Linux всё то же самое, только драйвер и службы ставятся пакетами.

  • 📦 Драйвер HASP — пакет aksusbd (rpm для CentOS, deb для Ubuntu). Он идёт в комплекте дистрибутива платформы или скачивается отдельно.
  • ⚙️ Сервер 1С — служба srv1cv83 (запускается скриптом из каталога установки платформы).
  • 👤 Запуск идёт от пользователя usr1cv8.

Проверка по шагам:

systemctl status aksusbd
systemctl status srv1cv83

Обе службы должны быть в состоянии active (running). Затем откройте http://адрес_сервера:1947 с рабочего места и убедитесь, что ключ виден. На сервере без графики используйте тот же браузерный интерфейс с другой машины, предварительно разрешив удалённый доступ (см. следующий раздел).

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

Каталог программных лицензий на Linux — /var/1C/licenses. Пользователь usr1cv8 должен иметь к нему доступ на чтение, иначе сервер лицензий «не видит», хотя файлы лежат на месте.

Сетевой ключ: как раздать лицензию другому серверу

Частый сценарий: ключ стоит в одном компьютере, а кластер 1С работает на другом. Тогда нужен доступ к менеджеру лицензий по сети.

На машине с ключом откройте http://localhost:1947 и перейдите в «Configuration» → «Access from Remote Clients». Включите разрешение подключения удалённых клиентов к лицензиям.

На машине с сервером 1С в том же интерфейсе зайдите в «Configuration» → «Access to Remote License Managers». Включите доступ к удалённым менеджерам и впишите адрес машины с ключом в список поиска (или оставьте автоматический поиск в локальной сети, если он у вас работает).

Через несколько секунд ключ должен появиться в списке «Sentinel Keys» на сервере 1С с пометкой, что он удалённый. Только после этого стоит проверять запуск сеансов.

СпособКогда подходитРиски
Ключ в самом сервереОдин физический серверВыход из строя компьютера — остановка лицензий
Сетевой ключ на другой машинеНесколько серверов или фермаЗависимость от сети и от той машины
Программная лицензияВиртуальный сервер, облакоПривязка к оборудованию, переактивация при его смене

Программные лицензии и ПИН-коды

Для виртуального сервера аппаратный ключ часто неудобен. Тогда используют программную лицензию: у неё есть регистрационный номер и ПИН-код, которые вы получаете при покупке.

Как это работает:

  1. Вы запускаете получение лицензии на нужной машине — в окне получения лицензии платформы (оно появляется, если лицензия не найдена) либо в Конфигураторе.
  2. Вводите регистрационные данные и ПИН-код. Платформа отправляет запрос на сервер лицензирования фирмы 1С и получает файл лицензии.
  3. Файл сохраняется на сервере в каталоге лицензий, и дальше сервер выдаёт её клиентам так же, как ключ.

На Linux при отсутствии графического окружения активируют лицензию утилитой командной строки платформы; список поддерживаемых команд и параметры смотрите в справке ring help.

Что нужно знать заранее:

  • 🧷 Программная лицензия привязывается к конфигурации оборудования. Серьёзная смена виртуального «железа» (процессор, диск, сеть) может сделать её недействительной, и придётся активировать заново.
  • 📋 Количество повторных активаций ограничено. Не экспериментируйте с ПИН-кодом на тестовых машинах.
  • 💾 Сохраните файл лицензии вместе с регистрационными данными в безопасном месте.

Перед миграцией виртуальной машины или сменой её параметров проверьте, что лицензию можно активировать заново. Иначе после переезда пользователи не смогут войти.

Порты и брандмауэр

Если лицензия есть, а клиенты её не получают, смотрите сеть. Нужно открыть:

ЧтоПорт
Менеджер лицензий HASP (Admin Control Center и обмен)1947, TCP и UDP
Агент сервера 1С1540
Главный менеджер кластера1541
Диапазон рабочих процессов1560–1591
Сервер администрирования (RAS), если включён1545

На Windows правила добавляют в брандмауэре Windows в разделе входящих подключений. На Linux — через firewalld или ufw, в зависимости от дистрибутива.

Проверка доступности с клиента:

telnet адрес_сервера 1540
telnet адрес_сервера 1947

Если соединение не открывается, лицензии доходят до сервера, но не до клиента. Проверьте и сетевое оборудование между сегментами, а не только брандмауэр самой машины.

Диагностика: лицензия есть, а сеанс не стартует

Идите от ключа к клиенту, на каждом шаге отвечая на один вопрос: «выдаётся ли лицензия здесь?».

  1. 🔍 Ключ виден в localhost:1947? Нет — драйвер, порт, виртуализация.
  2. 🔍 Служба 1С запущена от правильного пользователя? Нет — права на каталог лицензий.
  3. 🔍 В узле «Лицензии» консоли кластера что-то есть? Нет — рабочий процесс не получает лицензию.
  4. 🔍 Порты открыты? Нет — клиент не дотягивается до сервера.
  5. 🔍 Лимит не выбран? Сравните число сеансов с количеством лицензий в ключе.
Диагностика: выберите симптом

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

Как проверить выдачу на практике

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

  1. Запустите сеанс от обычного пользователя без локального ключа.
  2. В консоли кластера откройте список лицензий и найдите выданную сеансу.
  3. Запустите ещё один-два сеанса и убедитесь, что счётчик растёт.
  4. Закройте сеанс и проверьте, что лицензия вернулась в пул.
  5. Для сетевого ключа повторите проверку с другой машины сети.

Если лицензия вернулась не сразу, подождите минуту-две: освобождение происходит с небольшой задержкой. Завис надолго — завершайте сеанс вручную в консоли кластера.

Если ничего не помогло

Соберите факты и сравните с чистой схемой.

  • Попробуйте подключиться к кластеру с другой машины с другим пользователем. Если у второго пользователя всё работает, ищите проблему на первом клиенте (локальный драйвер, кеш, политика безопасности).
  • Посмотрите журнал регистрации и журналы технологического журнала сервера: по ним видно, на каком шаге рабочий процесс не получил лицензию.
  • Проверьте время на сервере и на машине с ключом: расхождение в часы иногда ломает программные лицензии.
  • Для программной лицензии найдите регистрационные данные и обратитесь к партнёру 1С или в поддержку фирмы: часто им проще сбросить активацию.

Если вы меняли кластер недавно (добавили сервер, перенесли базу), вернитесь к разделу про сетевой ключ: после переезда адрес менеджера лицензий мог стать другим.

Частые вопросы

Нужен ли отдельный сервер лицензий?
Нет. Менеджер лицензий HASP встроен в драйвер и работает на любой машине, где установлен ключ. Отдельный сервер нужен только если вы хотите вынести ключ с машины кластера.
Можно ли держать ключ в виртуальной машине?
Можно, если гипервизор пробрасывает USB-устройство внутрь. На практике для виртуальных серверов чаще берут программные лицензии или сетевой ключ на отдельном физическом компьютере.
Почему лицензии на сервере заняты, хотя пользователей меньше?
Часть сеансов может быть зависшей, а один пользователь способен открыть несколько сеансов. Посмотрите список сеансов в консоли кластера и завершите лишние.
Что будет, если сервер не видит ключ?
Платформа не сможет запустить базы в штатном режиме, пользователи получат отказ при входе. Починка начинается с драйвера и проверки ключа на localhost:1947.
Сколько ПИН-кодов нужно, чтобы запустить сервер?
Столько, сколько лицензий вы купили: каждый ПИН-код активирует свой пакет. Серверная и клиентские лицензии могут идти разными пакетами.