remote¶
Выполнение команд и обмен файлами с удалёнными устройствами с сервера
Зачем нужна¶
Команда даёт администратору низкоуровневый CLI-канал к устройствам напрямую с сервера, не открывая графическую сессию: скачать логи (logs), скопировать файл на устройство (put) или с устройства (get), выполнить произвольную команду (exec). По сути это «sudo по сети» через инфраструктуру RuDesktop — без SSH и предварительной настройки
Типичные случаи применения:
logs— массовый сбор клиентских логов с проблемного устройства для разбора инцидента, вместе сinfo.txtоб оборудованииput— точечная доставка файла на устройство (патч, скрипт, конфиг), когда не хочется создавать отдельную политикуget— забрать файл с устройства (конфиг, дамп, отчёт) для анализа на сервереexec— выполнить разовую команду на конкретном устройстве из скрипта администратора без создания политики «Выполнить команду»
Важно
Команда требует мастер-пароль устройства — он берётся из БД, либо передаётся через --password. Без мастер-пароля устройство не пустит сервер и команда завершится ошибкой
Синтаксис¶
rude remote --id [ID_устройства] [--password password] [--loglevel level] logs [--source path] [--target path]
rude remote --id [ID_устройства] [--password password] [--loglevel level] put [путь/на_сервере] [путь/на_устройстве]
rude remote --id [ID_устройства] [--password password] [--loglevel level] get [путь/на_устройстве] [путь/на_сервере]
rude remote --id [ID_устройства] [--password password] [--loglevel level] exec [команда]
Параметры¶
Параметр |
Описание |
|---|---|
--id |
Идентификатор устройства ( |
--password |
Пароль для подключения. Если не указан, используется мастер-пароль устройства из БД |
--loglevel |
Уровень логирования библиотеки соединения: |
logs |
Сбор логов клиента RuDesktop с устройства (по умолчанию в |
--source |
Путь на устройстве (для подкоманды |
--target |
Локальный путь для сохранения логов (для подкоманды |
put [src] [dst] |
Копирование файла с сервера на удалённое устройство |
get [src] [dst] |
Копирование файла с удалённого устройства на сервер |
exec [команда] |
Выполнение команды на удалённом устройстве |
Примечание
Если параметр --password не указан — команда использует мастер-пароль устройства, сохранённый в БД. Если у устройства нет мастер-пароля, команда завершится ошибкой Please specify password
Пример¶
Чтобы скачать логи с удалённого устройства на сервер, введите следующее:
rude remote --id 123456789 logsПосле выполнения команды логи (root и пользовательские) будут загружены на сервер. Для каждой ОС используются разные пути:
Windows —
C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RuDesktopиC:\Users\<username>\AppData\Roaming\RuDesktopLinux —
/root/.local/share/logs/RuDesktopи/home/<username>/.local/share/logs/RuDesktopmacOS —
/private/var/root/Library/Logs/RuDesktop
По умолчанию логи сохраняются в
/tmp/<peer_id>/. Рядом создаётся файлinfo.txtс основной информацией об устройстве и его ресурсахЧтобы загрузить логи в конкретный каталог, используйте флаг
--target:rude remote --id 123456789 logs --target /var/log/peer_logsЧтобы скачать только указанный файл или папку с устройства, используйте флаг
--source:rude remote --id 123456789 logs --source "C:\\Path\\To\\file.log" --target /tmp/peer.logЧтобы скопировать файл с сервера на удалённое устройство, введите следующее:
rude remote --id 123456789 put /tmp/1.txt /home/user/1.txtПосле выполнения команды файл будет скопирован с сервера на удалённое устройство
Чтобы скопировать файл с удалённого устройства на сервер, введите следующее:
rude remote --id 123456789 get /home/user/1.txt /tmp/1.txtПосле выполнения команды файл будет скопирован с удалённого устройства на сервер
Чтобы выполнить команду на удалённом устройстве, введите следующее:
rude remote --id 123456798 exec mkdir /home/user/testПосле выполнения команды папка будет создана на удалённом устройстве по указанному пути