Каĸ пробросить USB наĸопитель через RDP соединение?
Если не брать в расчёт такие вопросы как: «Как мне подключиться к серверу?», «Что такое VPS/VDS?», «Как поменять конфигурацию на сервере?», «Как мне играть в Майнкрафт на вашем сервере?», «Можно ли скамить мамонтов через эти ваши VPS серверы?» и др., то вопрос связанный с пробросом USB накопителей до своего VPS сервера — входит в ТОП 5 или даже в ТОП 3.
Зачем это нужно?
«Подскажите, можно ли как-то настроить сервер таким образом, чтобы при подключении флешки к моему компьютеру, файлы с неё были доступны на сервере?», «У меня макбук, как с него подключиться к моему VPS и перекинуть файлы на сервер?», «Можно ли как-то перекинуть файлы с телефона на мой сервер?» — Частые вопросы в дайджесте обращений в нашу поддержку.
Казалось бы, используй Ctrl + C, скопируй нужный файл на своём компьютере, затем подключись к серверу и нажми Ctrl + V. Но подобная процедура не всегда удобна и подойдёт скорее в тех случаях, когда необходимо перекинуть несколько небольших файлов.
А если нам необходимо постоянно работать с документами на USB накопителе? Постоянно просматривать на нём файлы, перекидывать их с USB накопителя и обратно? Или, например, на сервере расположено программное обеспечение вашей компании, а вы — сотрудник, которому необходимо отредактировать свой рабочий документ с помощью него, и при этом вы не хотите загружать свой документ на сам сервер?
Способ с простым копированием файлов через буфер обмена становится всё менее удобным. В этих случаях проще будет просто подключить нужный вам USB накопитель к вашему устройству и путём нескольких простых настроек, пробросить его до VPS сервера. Таким образом, у нас всегда будет доступ к нужным нам файлам, без необходимости прерывать работу и выходить с сервера (Также, по примерам из этой инструкции — можно будет настроить доступ не только к подключённым к вашему устройству USB накопителям, но и к любому диску/папке на устройстве).
Настройĸа USB для операционной системы Windows
Если вы пользуетесь операционной системой Windows, то каких-либо сторонних программ вам скачивать не нужно. На системах под управлением этой операционной системы, подключение USB накопителя можно настроить через встроенное официальное приложение «Подключение к удалённому рабочему столу». Для его открытия — выполните следующие команды: Пуск -> Программы -> Стандартные -> Подключение к удалённому рабочему столу Или используйте Win + R (либо щёлкните правой кнопкой мыши по кнопке «Пуск», выберите «Выполнить») наберите mstsc , нажмите ОК. В открывшемся окне необходимо выбрать пункт «Показать параметры» и указать данные для авторизации (IP, логин и пароль).
Берём эти данные из личного кабинета:
Переходим в раздел «Локальные ресурсы»:
Далее нам необходимо попасть в раздел «Локальные устройства и ресурсы» и нажать Подробнее.
В открывшемся окне выбираем пункт «Диски» и находим нужное нам USB устройство (в нашем случае это NIKON D5000 (F:) ). Также вы можете выбрать любой диск на вашем ПК и он тоже будет доступен на вашем VPS сервере.
И подключаемся к серверу. Теперь в окне управления дисками, мы видим дополнительный диск. Это и есть наше USB устройство.
Настройĸа USB для операционной системы Mac OS
Если же вы пользуетесь операционной системой Mac OS, то вам придётся выполнить несколько дополнительных действий, относительно операционной системы Windows. На Mac OS нет встроенного RDP клиента, так что для подключения к VPS серверу его необходимо скачать и установить. Существует множество различных RDP клиентов, и каждый имеет свой дополнительный функционал. Мы же для подключения будем использовать официальное приложение компании Microsoft — Microsoft Remote Desktop (Удалённый рабочий стол), т.к оно достаточно удобное и в нём есть весь необходимый нам функционал для настройки USB. Скачать его можно бесплатно в магазине App Store.
Скачиваем и запускаем RDP клиент. Если вы уже являетесь его пользователем, то, вероятно, у вас уже настроено подключение к нужному вам серверу. Если нет, то подробнее с тем, как подключиться к вашему VPS серверу из-под Mac OS, используя это ПО, вы можете ознакомиться в одной из наших статей справочника.
Теперь мы можем приступить к настройке USB накопителя. Наводим курсор мыши на нужный нам сервер и в левом нижнем углу нажимаем на кнопку с изображением карандаша (Если интерфейс вашей программы отличается, то, возможно, вы используете устаревшую, или более новую версию ПО).
В открывшемся окне переходим во вкладку «Folders», ставим галочку в пункте «Redirect folders» и жмём на + в левом нижнем углу.
Далее, в открывшемся окне «Finder», в правом столбце необходимо найти нужное нам USB устройство (в нашем случае это устройство с именем Samsung ) и нажать на кнопку Open.
Как мы видим, в списке появилось наше устройство. Теперь у нас есть доступ ко всем данным на нём, и при подключении к серверу — мы сможем ими воспользоваться. Если необходимо получить доступ только к определённым папкам, то по этому же примеру мы выбираем нужное нам устройство Samsung и затем папку (таким образом, можно получить доступ к абсолютно любой папке из Mac OS). После всех изменений жмём кнопку Save.
Готово. Теперь осталось просто подключиться к серверу и открыть проводник. Тут мы видим наш системный диск, а также — дополнительный диск с USB накопителем, подключённым к нашему устройству.
Настройĸа на операционных системах iPadOS/iOS/Android
Не только на устройствах под управлением десктопных версий ОС есть возможность предоставить доступ к папке или USB накопителю. На устройствах под управлением операционных систем iOS и Android также есть такая возможность, хоть слегка и ограниченная. Здесь есть возможность предоставить доступ лишь к одной конкретной папке на устройстве, наименование которой схоже с названием самой программы (возможно, в сторонних альтернативных клиентах есть более расширенный функционал, но наш пример построен на основе официального программного обеспечения компании Microsoft «Удалённый рабочий стол» или «RD Client» для устройств под управлением iOS/iPadOS). Скачать его можно в App Store (для iOS) или Google Play (для Android).
Настройка подключения к серверу очень схожа с версией для Mac OS. Мы также нажимаем + в левом верхнем углу и указываем данные для подключения. После запуска программы и настройки подключения к VPS серверу, нам необходимо нажать и удерживать нужный нам сервер до появления дополнительного меню. В нём мы выбираем пункт «Изменить».
Далее, нам необходимо пролистать в самый низ, до раздела «перенаправление звука и устройств» и включить ползунок на пункте «Хранилище».
В случае с iOS и iPadOS, после переключения этого ползунка — у нас появится доступ к файлам, которые находятся в приложении Файлы -> На iPad/iPhone -> RD Client.
Теперь, после подключения к серверу, в проводнике мы сможем увидеть дополнительный подключённый диск, на котором и будут находиться файлы с устройства.
Пара слов в заĸлючении
Как видно, эта процедура достаточно проста и не требует каких-либо специфических навыков. Справиться может любой и даже самый неискушённый пользователь. Вы можете задаться вопросом — «А как же Linux?». Удивительно, но за 3 года работы на этой должности, мне ни разу не попадался пользователь, который поинтересовался бы — «А как пробросить USB порт на Linux?». Вероятно, они из совсем другой лиги и подобных вопросов не задают. Тем не менее — мы протестировали несколько клиентов для этой ОС на возможность проброса USB, но нужный функционал нашёлся только в «xfreerdp», взаимодействие с которым осуществляется только через терминал.
Это не совсем то, что нужно и если кто-то из читателей знает RDP клиенты для Linux, в которых реализован такой же простой функционал, как и в версиях для Windows, Mac OS, iOS и Android — будем рады почитать про это в комментариях.
Xrdp-usb
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт.
Внимание! Проброс будет работать только в рамках локальной сети, так как требует доступность клиентского компьютера с сервера
В данной статье рассмотрена процедура настройки подключения USB-устройств через Xrdp.
- Терминальный сервер (сервер) — хост, на котором запущен Xrdp.
- Терминальный клиент (клиент) — хост, к которому подключены USB-устройства, экспортируемые на клиент.
Настройка сервера
# apt-get update && apt-get dist-upgrade
Установить пакет xrdp-usb-session :
# apt-get install xrdp-usb-session
xrdp-usb-session для сеанса xrdp-sesman добавляет запуск автоподключения всех USB-устройств с клиента.
Далее, после установки xrdp-usb-session необходимо перезапустить службу xrdp-sesman:
# systemctl restart xrdp-sesman.service
Настройка клиента
# apt-get update && apt-get dist-upgrade
Установить пакет xrdp-usb-terminal :
# apt-get install xrdp-usb-terminal
После установки xrdp-usb-terminal , добавить пользователя в группу disk:
где alt-1 — имя пользователя.
После успешной установки xrdp-usb-terminal и добавления пользователя в группу disk, необходимо перезагрузить систему (чтобы загрузились все модули и запустилась служба usbipd).
По умолчанию никакие устройства не передаются. Чтобы они передавались, необходимо отредактировать файл /etc/xrdp-usb :
- В терминале с помощью команды lsusb просмотреть идентификаторы устройств.
- Из полученного вывода следует выбрать ID-устройства, которое необходимо пробрасывать, и добавить нужный идентификатор (в примере это 13fe:4300) в файл /etc/xrdp-usb :
Можно указать сколько угодно идентификаторов, но необходимо быть осторожным с идентификаторами мыши и клавиатуры. Если они будут проброшены, то они не будут доступны на локальной системе.
Проброс
Для подключения к серверу, на клиентском компьютере должен быть установлен клиент удаленного доступа. Для подключения к серверу терминалов можно использовать программы удаленного доступа xfreerdp, Remmina, Connector и т.д. Перед подключением необходимо на клиенте выполнить команду usbip-export :
$ usbip-export EXPORT USB 13fe:4300 (3-2) usbip: info: unbind device on busid 3-2: complete usbip: info: bind device on busid 3-2: complete
Далее, со стороны клиента подключаемся к терминальному серверу, например:
$ xfreerdp /v:192.168.0.104 /u:user /p:password
Окно подключения к удаленному рабочему столу с проброшенным USB-устройством:
При ошибках связанных с подключением, рекомендуется проверить настройки брандмауэра и проверить соответствие версий приложения usbip .
Openuds при подключении самостоятельно экспортирует указанные устройства. На терминальном сервере при этом должен быть установлен пакет openuds-client .