USB-ключ защиты HASP в 1С 8.3: от установки драйвера до разбора ошибок
Содержание
Аппаратный ключ в 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С:Предприятия стоит флажок установки драйвера защиты. Отметьте его — драйвер встанет вместе с платформой.
- Из каталога платформы. В папке
binустановленной версии лежитhaspdinst.exe. Запустите командную строку от имени администратора и выполните:
cd "C:\Program Files\1cv8\8.3.24.1586\bin"
haspdinst.exe -i
- Свежим дистрибутивом Sentinel LDK Run-time с сайта производителя ключей. Этот вариант выбирают, когда встроенный в платформу драйвер старый и не дружит с новой версией Windows.
Номер версии в пути выше — пример. Подставьте каталог той платформы, что стоит у вас.
После установки выньте ключ и вставьте снова. На корпусе должен загореться светодиод. Не горит — драйвер не увидел устройство.
Менеджер лицензий для сетевого ключа
Многопользовательский ключ сам по себе раздаёт лицензии только тому компьютеру, где стоит. Чтобы его видели другие, на этой машине ставят HASP License Manager.
- Выберите компьютер, который всегда включён: сервер или постоянно работающий ПК.
- Установите драйвер HASP, как описано выше.
- Установите HASP License Manager. При установке выберите вариант «как служба» — тогда менеджер запустится без входа пользователя в систему.
- Откройте в брандмауэре 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 TCP | Sentinel Admin Control Center, локальная диагностика драйвера |
Если сервер 1С и менеджер лицензий стоят на разных машинах, порт 475 должен быть открыт между ними.
Сбои ключа и восстановление доступа
Ключ перестал работать после обновления Windows
Типичная история: после крупного обновления Windows старый драйвер из комплекта платформы перестал загружаться. Решение:
- Удалите драйвер:
haspdinst.exe -rиз каталогаbinплатформы. - Перезагрузите компьютер. Если это сервер 1С или машина с менеджером лицензий, предупредите пользователей: все сеансы оборвутся. Делайте это вне рабочего времени.
- Установите актуальную версию Sentinel LDK Run-time.
- Проверьте ключ через
localhost:1947.
Лицензий не хватает
Сообщение о превышении числа пользователей появляется, когда все лицензии ключа заняты. Причины:
- 🔸 Зависшие сеансы после обрыва связи. В клиент-серверном варианте их видно в консоли кластера. Завершите такие сеансы, предупредив пользователей.
- 🔸 Один человек открыл несколько окон 1С на разных компьютерах — каждое окно на другом ПК занимает отдельную лицензию.
- 🔸 Ключей больше одного, но менеджер видит только один. Проверьте в Aladdin Monitor, сколько ключей подключено.
Ключ потерян или сломан
Аппаратный ключ — это и есть лицензия. Если он сломан механически, обратитесь к партнёру 1С, у которого покупали программу, или напрямую в фирму 1С: поломанный ключ обычно меняют, предъявив его и документы поставки. Утерянный ключ, как правило, не восстанавливается — лицензию покупают заново. Отсюда совет хранить серверные ключи внутри корпуса или в защищённом USB-хабе, а не в переднем порту.
Переход на программную лицензию
Если ключи постоянно доставляют хлопоты в облаке или на виртуальных машинах, их можно заменить программными лицензиями. Программная лицензия активируется пин-кодом и привязывается к оборудованию компьютера. Условия обмена аппаратных ключей на программные уточняйте у партнёра 1С.
Аппаратные и программные лицензии можно использовать одновременно в одной сети. Платформа найдёт и те и другие. Но при смешанной схеме сложнее понять, какая лицензия занята, поэтому проверяйте через rac session list --licenses или консоль кластера.