USB-ключ защиты HASP в 1С 8.3: от установки драйвера до разбора ошибок

· 10 мин

Содержание

Аппаратный ключ в 1С 8 — это USB-устройство защиты HASP, в котором «зашита» лицензия на запуск платформы. Чтобы он заработал, нужны две вещи: драйвер защиты на компьютере, куда вставлен ключ, и, для сетевого ключа, менеджер лицензий плюс правильный файл nethasp.ini на клиентах. Если ключ не виден, 1С не запустит базу и покажет сообщение Не обнаружен ключ защиты программы или полученная программная лицензия!.

Выбор простой. Один пользователь на одном компьютере — локальный ключ, драйвер и всё. Несколько пользователей в сети — многопользовательский ключ на одной машине и менеджер лицензий. Сервер 1С:Предприятия — отдельный серверный ключ на компьютере, где работает агент сервера. Дальше — настройка каждого варианта, способы проверки и разбор сбоев.

Какие бывают аппаратные ключи защиты 1С

Все ключи 1С 8 построены на технологии HASP (сейчас её развивает компания Thales под маркой Sentinel). Внешне это USB-брелок, внутри — разные типы лицензий.

Тип ключаЧто лицензируетГде вставлятьЧто нужно, кроме драйвера
🔑 Однопользовательский (локальный)Один сеанс на этом компьютереВ компьютер пользователяНичего
🌐 Многопользовательский (сетевой)5, 10, 20, 50 или 100 сеансов в сетиВ любой компьютер сетиМенеджер лицензий, nethasp.ini
🖥 Ключ сервера 32-битРаботу 32-разрядного сервера 1СВ компьютер с сервером 1СНичего
🖥 Ключ сервера 64-битРаботу 64-разрядного сервера 1СВ компьютер с сервером 1СНичего

Несколько моментов, о которых часто забывают:

  • 📌 Ключ сервера не даёт права на пользователей. Клиентские лицензии покупаются отдельно — тоже ключом или программной лицензией.
  • 📌 Ключ на 64-разрядный сервер подходит и для 32-разрядного. Обратное не работает .
  • 📌 Однопользовательский ключ не раздаётся по сети. Вставили его в общий компьютер — работать сможет только тот, кто сидит за этим компьютером.
  • 📌 Ключ привязан к поставке, а не к конкретному ПК. Его можно переставить в другой компьютер, в отличие от программной лицензии, которая привязана к параметрам оборудования.

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

Установка драйвера защиты и менеджера лицензий

Драйвер HASP на компьютер с ключом

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

  1. При установке платформы. В последнем окне мастера установки 1С:Предприятия стоит флажок установки драйвера защиты. Отметьте его — драйвер встанет вместе с платформой.
  2. Из каталога платформы. В папке bin установленной версии лежит haspdinst.exe. Запустите командную строку от имени администратора и выполните:
cd "C:\Program Files\1cv8\8.3.24.1586\bin"
haspdinst.exe -i
  1. Свежим дистрибутивом Sentinel LDK Run-time с сайта производителя ключей. Этот вариант выбирают, когда встроенный в платформу драйвер старый и не дружит с новой версией Windows.

Номер версии в пути выше — пример. Подставьте каталог той платформы, что стоит у вас.

После установки выньте ключ и вставьте снова. На корпусе должен загореться светодиод. Не горит — драйвер не увидел устройство.

Менеджер лицензий для сетевого ключа

Многопользовательский ключ сам по себе раздаёт лицензии только тому компьютеру, где стоит. Чтобы его видели другие, на этой машине ставят HASP License Manager.

  1. Выберите компьютер, который всегда включён: сервер или постоянно работающий ПК.
  2. Установите драйвер HASP, как описано выше.
  3. Установите HASP License Manager. При установке выберите вариант «как служба» — тогда менеджер запустится без входа пользователя в систему.
  4. Откройте в брандмауэре UDP и TCP порт 475 на этом компьютере.

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

Настройка nethasp.ini на клиентах

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

Файл лежит в каталоге conf платформы, обычно C:\Program Files\1cv8\conf\nethasp.ini. Пример рабочей настройки:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled

Здесь 192.168.1.10 — адрес компьютера с менеджером лицензий. Если поиск по UDP не проходит, попробуйте NH_TCPIP_METHOD = TCP. После правки файла перезапустите 1С: настройки читаются при старте.

Как проверить, что ключ виден и лицензии выдаются

Проверять удобнее снизу вверх: устройство → драйвер → сеть → 1С.

Шаг 1. Устройство и драйвер

  • 💡 Светодиод на ключе горит ровно — Windows увидела устройство.
  • 💡 В Диспетчере устройств ключ отображается в разделе USB-устройств без жёлтого значка.
  • 💡 Откройте в браузере на этом компьютере http://localhost:1947. Это Sentinel Admin Control Center, он ставится вместе с драйвером. В списке ключей должен быть ваш ключ.

Если страница по адресу localhost:1947 не открывается, служба драйвера не запущена или драйвер не установлен.

Шаг 2. Сетевой ключ и менеджер

Для сетевых ключей есть утилита Aladdin Monitor. Её ставят на любой компьютер сети. В ней видно:

  • какие менеджеры лицензий найдены и по каким адресам;
  • какие ключи к ним подключены;
  • сколько лицензий занято и за какими компьютерами.

Монитор не видит менеджер — проблема в сети: порт 475, брандмауэр, другая подсеть. Монитор видит, а 1С нет — смотрите nethasp.ini на клиенте.

Шаг 3. Что видит сама 1С

В клиент-серверном варианте откройте консоль кластера. В свойствах рабочего сервера и в списке сеансов видно, какие лицензии получены и откуда. Из командной строки на сервере это можно посмотреть утилитой rac:

rac cluster list
rac session list --cluster=<id кластера> --licenses

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

Диагностика: выберите симптом

Антивирус, брандмауэр и виртуальные машины

Антивирус и брандмауэр

Сам ключ антивирусы не трогают. Проблемы возникают с сетью и службами.

  • 🛡 Встроенный брандмауэр Windows или сетевой экран антивируса режет UDP-порт 475. Клиенты перестают видеть менеджер лицензий. Добавьте правило для порта 475 (UDP и TCP) на компьютере с менеджером.
  • 🛡 Комплексные антивирусы иногда блокируют службу драйвера при обновлении своих баз. Если после обновления антивируса ключ «пропал», проверьте, запущена ли служба Sentinel и открывается ли localhost:1947.
  • 🛡 Политики безопасности, запрещающие USB-накопители, иногда блокируют и ключ. Ключ HASP — не накопитель, но грубая блокировка всех USB-устройств его тоже отключит. Попросите администратора внести ключ в исключения.

Виртуальные машины

Это самая частая боль. Ключ вставлен в физический сервер, а 1С работает в виртуальной машине.

СредаКак пробросить ключ
VMware ESXi / WorkstationШтатный проброс USB-устройства в гостевую ОС
Hyper-VШтатного проброса USB нет. Варианты: сетевой ключ с менеджером лицензий на хосте или USB over IP
Proxmox, KVMПроброс USB-устройства в настройках ВМ
Облачный серверТолько USB over IP или программные лицензии

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

С ключом сервера сложнее: он должен быть виден тому компьютеру, где работает агент сервера 1С. Значит, нужен проброс USB в эту ВМ или USB-over-IP устройство.

USB over IP — внешний сервер, который передаёт USB-устройство по сети. При обрыве связи ключ «отваливается», и 1С теряет лицензию. Ставьте такое устройство в ту же стойку или локальную сеть, что и сервер 1С, а не на другом конце VPN.

Ключи в клиент-серверном варианте 1С

В файловом варианте всё просто: лицензию ищет клиентское приложение на компьютере пользователя. В клиент-серверном появляются два участника.

Ключ сервера

Вставляется в компьютер, где работает служба агента сервера 1С:Предприятия (ragent). Без него сервер не запустит рабочие процессы для пользователей. Драйвер ставится на этот же компьютер. На Linux вместо Windows-драйвера ставят пакет Sentinel Runtime для Linux, демон в нём называется aksusbd.

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

Клиентские лицензии через сервер

Клиентскую лицензию в клиент-серверном варианте может получать либо клиентское приложение, либо сервер 1С. Управляет этим параметр информационной базы «Выдача лицензий сервером 1С:Предприятия» в консоли кластера.

  • ✅ Значение «Да» — лицензии ищет сервер. Многопользовательский ключ вставляют прямо в сервер 1С, клиентам ключи и nethasp.ini не нужны. Самая удобная схема для терминальных серверов и удалённых офисов.
  • ✅ Значение «Нет» — лицензию ищет каждый клиент сам, как в файловом варианте.

Веб-клиент лицензию сам не ищет никогда: её всегда получает сервер. Поэтому при работе через браузер клиентский ключ должен быть доступен серверу 1С.

Порты, которые нужны одновременно

ПортКому нужен
1540Агент сервера 1С, к нему подключаются клиенты и консоль
1541Менеджер кластера
1560–1591 (по умолчанию)Рабочие процессы, диапазон задаётся в свойствах рабочего сервера
475 UDP/TCPМенеджер лицензий HASP для сетевых ключей
1947 TCPSentinel Admin Control Center, локальная диагностика драйвера

Если сервер 1С и менеджер лицензий стоят на разных машинах, порт 475 должен быть открыт между ними.

Сбои ключа и восстановление доступа

Ключ перестал работать после обновления Windows

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

  1. Удалите драйвер: haspdinst.exe -r из каталога bin платформы.
  2. Перезагрузите компьютер. Если это сервер 1С или машина с менеджером лицензий, предупредите пользователей: все сеансы оборвутся. Делайте это вне рабочего времени.
  3. Установите актуальную версию Sentinel LDK Run-time.
  4. Проверьте ключ через localhost:1947.

Лицензий не хватает

Сообщение о превышении числа пользователей появляется, когда все лицензии ключа заняты. Причины:

  • 🔸 Зависшие сеансы после обрыва связи. В клиент-серверном варианте их видно в консоли кластера. Завершите такие сеансы, предупредив пользователей.
  • 🔸 Один человек открыл несколько окон 1С на разных компьютерах — каждое окно на другом ПК занимает отдельную лицензию.
  • 🔸 Ключей больше одного, но менеджер видит только один. Проверьте в Aladdin Monitor, сколько ключей подключено.

Ключ потерян или сломан

Аппаратный ключ — это и есть лицензия. Если он сломан механически, обратитесь к партнёру 1С, у которого покупали программу, или напрямую в фирму 1С: поломанный ключ обычно меняют, предъявив его и документы поставки. Утерянный ключ, как правило, не восстанавливается — лицензию покупают заново. Отсюда совет хранить серверные ключи внутри корпуса или в защищённом USB-хабе, а не в переднем порту.

Переход на программную лицензию

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

Аппаратные и программные лицензии можно использовать одновременно в одной сети. Платформа найдёт и те и другие. Но при смешанной схеме сложнее понять, какая лицензия занята, поэтому проверяйте через rac session list --licenses или консоль кластера.

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

Можно ли вставить два сетевых ключа в один компьютер?
Да, если ключи разных серий: менеджер лицензий обслуживает их вместе, и ключи на 10 и на 5 пользователей дадут 15 сеансов. Два ключа одной серии на одном компьютере одновременно не работают — разнесите их по разным машинам. Проверьте в Aladdin Monitor, что видны оба.
Подойдёт ли ключ от 1С 8.2 для платформы 8.3?
Аппаратные ключи 8-й версии работают с платформой 8.3. Ключи от 1С 7.7 для «восьмёрки» не подходят: это другая система лицензирования.
Нужен ли интернет для работы аппаратного ключа?
Нет. Ключ работает полностью автономно. Интернет нужен только для активации программных лицензий, а не для ключей HASP.
Почему 1С на терминальном сервере видит ключ только у одного пользователя?
Скорее всего, вставлен однопользовательский ключ. Для терминального сервера нужен многопользовательский ключ, а в клиент-серверном варианте удобнее включить выдачу лицензий сервером.
Можно ли пробросить ключ через RDP?
Перенаправление USB в RDP для ключей HASP работает нестабильно. Для удалённых пользователей правильнее держать сетевой ключ в локальной сети сервера и ходить к нему по сети.