Как установить и настроить консольный клиент USB over IP концентратора для подключения USB устройств с SSL шифрованием и ограничение доступа к USB порту по логину и паролю, например в Debian (Ubuntu)?

Данная статья описывает процесс установки и настройки консольного клиента USB over IP концентратора в качестве демона на операционной системе Debian (Ubuntu) с использованием SSL шифрования и авторизации.

1. Общие требования

  1. На концентраторе настроено SSL-шифрование для USB трафика в группах. Подробный процесс настройки описан в статье Настройка SSL-шифрования для USB-трафика на USB over IP концентраторе
  2. Для работы используется встроенный драйвер Linux usbip, который входит в большинство версий Linux по умолчанию. Рекомендуется использовать ядро версии 4.9+ для максимальной совместимости.
  3. Пользователь должен иметь права sudo для запуска демона. Команды управления демоном выполняются без использования sudo.
  4. Замените IP-адрес концентратора 192.168.1.180, пользователя testuser и пароль pass на соответствующие данные вашего устройства и пользователя.

2. Скачивание SSL-сертификата и клиента

Необходимо получить путь SSL-сертификата на концентраторе, чтобы его можно было скачать, для этого:

  1. Откройте Web-интерфейс и перейдите в раздел "Система" > "Сертификаты" > "USB"
  2. Дважды нажмите на нужный SSL-сертификат
  3. Скопируйте путь

В команде для скачивания SSL-сертификата ниже замените "/client/ssl/distkontrolusb20260702-115929.pem" на ваш путь и выполните её:

wget --no-check-certificate 
http://192.168.1.180/client/ssl/distkontrolusb20260702-115929.pem

Выполните следующую команду для скачивания консольного клиента:

wget --no-check-certificate http://192.168.1.180/client/dkclientx86_64

3. Настройка клиента

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

    ./dkclientx86_64 -t EXIT
    truncate -s 0 ./.dkcl

  2. Установите права на выполнение клиента и запустите его в режиме демона:

    chmod +x ./dkclientx86_64
    sudo ./dkclientx86_64 -n

  3. Добавьте группы в которых включено SSL-шифрование (необходимо указывать SSL-порт вместо TCP-порта):

    ./dkclientx86_64 -t 'MANUAL HUB ADD, 192.168.1.180:6564'
    ./dkclientx86_64 -t 'MANUAL HUB ADD, 192.168.1.180:7572'
    ./dkclientx86_64 -t 'MANUAL HUB ADD, 192.168.1.180:7573'

  4. Выключите клиент:
    ./dkclientx86_64 -t EXIT

4. Настройка конфигурационного файла

В конфигурационном файле необходимо указать путь к скачанному файлу SSL-сертификата и перечислить через запятую SSL-порты ранее добавленных групп:

echo "[General]" >> ./.dkcl  
echo "SSLCAFile=/home/testuser/distkontrolusb20260702-115929.pem" >> ./.dkcl
echo "SSLPort=6564,7572,7573" >> ./.dkcl

Проверьте содержимое конфигурационного файла через команду: cat ./.dkcl. В выводе должны быть следующие строки:

[Settings]
ManualHubs=192.168.1.180:6564,192.168.1.180:7572,192.168.1.180:7573
[General]
SSLCAFile=/home/testuser/distkontrolusb20260702-115929.pem
SSLPort=6564,7572,7573

5. Запустите клиент

Запустите клиент заново:

sudo ./dkclientx86_64 -n

6. Подключение USB-устройства

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

./dkclientx86_64 -t "USE,distkontrolusb64-Gr-01.11512,password"

 

Если команда завершается успешно, вы увидите сообщение OK. Если возникает ошибка FAILED, проверьте журнал системы авторизации в веб-интерфейсе устройства.