Первое что приходит в голову для удаленного управления, это наверное разного рода AnyDesk, TeamViewer и т.п. но это решения коммерческие и предназначены для некоммерческого использования, сеансы ограничены по времени, что достаточно неудобно.
Установка серверной части RustDesk
Из всего, что я перепробовал самым адекватным решением оказался RustDesk.
Из плюсов этого решения можно отметить:
- Безопасность данных
Соблюдение нормативных требований: локальный RustDesk гарантирует локальное хранение данных на вашем сервере. - Повышенная безопасность, так-как локальное развертывание позволяет контролировать передаваемые данные.
- Локальное развертывание обеспечивает оптимальную производительность и минимальное время простоя.
- Гибкость и настройка под вашу инфраструктуру.
Документацию по SelfHosted можно найти по адресу https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/. В нашем случае для упрощения настройки будем использовать установку с использованием Docker для чего подготовим наш хост для запуска Docker образов и здесь что бы не повторяться используем мою старую заметку Установка Docker+DockerCompose+KubeCtl+Helm.
Согласно официальной документации нам понадобится docker-compose.yml следующего содержания (как говорится запуск на минималках).
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
В моем случае понадобилось немного модифицировать группу сетевой безопасности в SberCloud и разрешить порты:
- 21115/tcp
- 21116/tcp
- 21116/udp
- 21117/tcp
- 21118/tcp
- 21119/tcp
- 21120/tcp
- 21120/udp
И Docker Compose файл так-же немного изменился.
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
ports:
- "21115:21115" # TCP (регистрация/синхронизация)
- "21116:21116" # TCP (релей данных)
- "21116:21116/udp" # UDP (релей данных)
- "21117:21117" # TCP (API для клиентов)
- "21118:21118" # TCP (веб‑панель управления, опционально)
volumes:
- ./data:/root
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
restart: unless-stopped
Правила доступа для SberCloud.

Есть правда в этом решении и минусы, а именно отсутствие в Open Source версии графического интерфейса и ваш локальный Rust Desk фактически является прокси для связи двух RustDesk клиентов.
Установка клиентской части RustDesk
Установка среды исполнения Flatpak.
# dnf install flatpak
Установка RustDesk.
$ wget https://dl.flathub.org/repo/appstream/com.rustdesk.RustDesk.flatpakref
$ flatpak install --user ./com.rustdesk.RustDesk.flatpakref
Настройка работы RustDesk через SelfHosted сервер
Получаем ключ подключения к серверу RustDesk.
# cat /opt/rustdesk/data/id_ed25519.pub
Настраиваем подключение через наш сервер.






