Установка RustDesk, настройка сервера и клиента для удалённого доступа к рабочему столу

Установка и настройка RustDesk

Для каких задач подходит RustDesk, какие требования он предъявляет к системе и как подготовиться к его установке и настройке.

RustDesk — это система удаленного доступа с открытым исходным кодом, которую можно развернуть на собственном сервере и использовать без зависимости от сторонних облаков. Такое решение подходит для компаний и инфраструктур, где важно контролировать соединения, хранение данных и сетевые маршруты удаленного доступа.

В отличие от большинства коммерческих сервисов удаленного рабочего стола, RustDesk позволяет полностью управлять серверной частью: от размещения сигнального сервера до настройки ретрансляции трафика. Это делает его удобным выбором для корпоративных сетей, закрытых контуров, промышленных объектов и организаций с повышенными требованиями к информационной безопасности.

Для чего нужен RustDesk

RustDesk применяют в инфраструктуре, где требуется удаленный доступ к рабочим станциям и серверам с контролем сетевых соединений и без зависимости от сторонних облачных сервисов. Благодаря возможности развернуть собственный сервер система подходит для разных сценариев — от технической поддержки до администрирования изолированных сред.

Удаленная техническая поддержка. RustDesk позволяет подключаться к пользовательским рабочим местам для диагностики, настройки и устранения неисправностей, сохраняя контроль над каналами связи и данными сессии.

Администрирование серверов и рабочих станций. Система используется для управления серверами и рабочими узлами в дата-центрах, офисных и распределенных сетях, как по локальной сети, так и через интернет.

Работа в изолированных и закрытых сетях. Развертывание собственного сервера RustDesk делает возможной работу в средах с повышенными требованиями к информационной безопасности, в том числе — в сегментированных сетях и контурах без прямого доступа в интернет.

Замена коммерческих решений. RustDesk часто используют как альтернативу проприетарным сервисам удаленного доступа, когда важно снизить лицензионные затраты и избежать зависимости от внешнего вендора.

Системные требования

RustDesk поддерживает клиентские и серверные компоненты на широком наборе платформ: Windows, macOS, Linux, Android и iOS. Клиент RustDesk не предъявляет высоких требований к ресурсам и запускается на большинстве современных устройств, включая системы с ограниченными вычислительными возможностями.

Для развертывания собственного RustDesk-сервера (OSS-вариант) аппаратные требования тоже минимальны. Достаточно базовой конфигурации виртуального сервера:

  • CPU — 1 ядро;
  • RAM — 1 ГБ;
  • диск — около 10 ГБ свободного пространства.

Такой объем ресурсов достаточен для запуска серверных компонентов RustDesk — сигнального сервера (hbbs) и ретранслятора (hbbr) в небольших и средних инсталляциях. В зависимости от размера сети и трафика требования могут незначительно увеличиваться, но в случае с офисными задачами для стабильной работы хватит даже минимальной конфигурации сервера. 

Пропускная способность ретранслятора зависит от разрешения экрана, частоты обновления и характера передаваемого изображения. Например, при работе с преимущественно статичным контентом (текст, интерфейсы, офисные приложения) потребление трафика обычно составляет порядка 30–100 Кбит/с. При передаче изображения в высоком разрешении (например, 1920×1080) и динамическом контенте нагрузка может возрастать до 3 Мбит/с.

Установка RustDesk

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

Установка RustDesk-сервера

Серверная часть RustDesk в OSS-варианте состоит из двух основных компонентов. Чаще всего они разворачиваются на одном Linux-сервере с публичным IP-адресом:

  • hbbs — сигнальный сервер (регистрация клиентов, установление соединений);
  • hbbr — сервер ретрансляции трафика (используется при невозможности прямого P2P-соединения).

Если на сервере используется файрвол, необходимо открыть порты, которые используются для основных функций RustDesk:


      ufw allow 21114:21119/tcp
ufw allow 21116/udp

Далее разберем три основных способа для установки RustDesk Server.

Способ 1 — через Docker Compose

Использование Docker Compose для развертывания RustDesk Server OSS позволяет быстро и удобно поднять оба компонента сервера — hbbs и hbbr — в изолированных контейнерах. Такой подход упрощает управление зависимостями, обновление серверных компонентов и перенос конфигурации на другие машины. Docker Compose также облегчает настройку сетевых портов и автоматический перезапуск сервисов при сбоях, обеспечивая стабильную работу сервера.

1. Установите Docker и Docker Compose с помощью инструкции из официальной документации

2. Создайте в рабочем каталоге файл 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

3. Запустите контейнеры с помощью следующей команды:


      docker compose up -d

Посмотреть запущенные контейнеры можно с помощью команды docker ps:

Проверка запущенных контейнеров.

Видим, что оба контейнера успешно запустились. После этого в каталоге data также появятся файлы ключей. Публичный ключ (id_ed25519.pub) будем использовать позднее в конфигурации клиентов.

Файлы ключей в каталоге data.

Если вы хотите запустить контейнеры без использования Compose, это можно сделать с помощью следующих команд:


      docker image pull rustdesk/rustdesk-server
docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs
docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbr

Способ 2 — бинарные файлы + systemd-сервисы

Если вы не хотите использовать контейнеры, RustDesk Server можно установить из бинарных файлов. 

1. Скачайте архив с релизом для Linux и разархивируйте его:


      wget https://github.com/rustdesk/rustdesk-server/releases/latest/download/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip -d rustdesk
cd rustdesk/amd64

В результате в папке rustdesk/amd64 должны появиться файлы hbbs и hbbr, а также утилита rustdesk-utils:

Созданные файлы и утилита.

2. Сгенерируйте ключи:


      /rustdesk/amd64/rustdesk-utils genkeypair

Это создаст приватный и публичный ключи id_ed25519 и id_ed25519.pub, которые нужны для настройки и корректного функционирования сервера.

Созданные приватный и публичный ключи.

Для удобного управления серверными компонентами RustDesk на Linux рекомендуется использовать systemd‑сервисы. Они позволяют автоматически запускать hbbs и hbbr при старте системы, следить за их статусом и перезапускать в случае сбоев. 

3. Для настройки сервисов создайте два файла со следующим ниже содержимым. Отметим, что для конфигурации hbbs используется публичный ключ, так как сервер участвует только в проверке и регистрации клиентов. В то время как hbbr занимается установлением зашифрованного канала и должен подписывать сообщения, используя приватный ключ.

Файл hbbs.service:


      [Unit]
Description=RustDesk HBBS (ID/Rendezvous Server)
After=network.target

[Service]
Type=simple
ExecStart=/rustdesk/amd64/hbbs -k /rustdesk/amd64/id_ed25519.pub
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Файл hbbr.service:


      [Unit]
Description=RustDesk HBBR (Relay Server)
After=network.target

[Service]
Type=simple
ExecStart=/rustdesk/amd64/hbbr -k /rustdesk/amd64/id_ed25519
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

4. Активируйте и запустите сервисы с помощью команд:


      systemctl daemon-reload
systemctl enable --now hbbs.service
systemctl enable --now hbbr.service

5. Проверьте статус созданных юнитов:


      systemctl status hbbs.service
systemctl status hbbr.service
Проверка статуса юнитов.

После выполнения этих действий сервер будет автоматически запускаться при старте системы. Отслеживать логи сервера можно с помощью следующей команды:


      journalctl -u hbbs.service -f
journalctl -u hbbr.service -f

Способ 3 — автоматический скрипт install.sh

RustDesk OSS предоставляет удобный скрипт установки, который полностью автоматизирует процесс развертывания сервера, включая ID/Rendezvous сервер (hbbs), Relay‑сервер (hbbr) и веб‑интерфейс для управления.

1. Для установки с помощью этого метода скачайте и запустите скрипт:


      wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh

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

  • скачивает и устанавливает hbbs и hbbr;
  • создает конфигурационные файлы с ключами и настройками сервера и размещает их на веб‑странице с защитой паролем;
  • предлагает параметры подключения для клиентов и выводит IP/домен и Key (публичный ключ сервера).
Вход на веб-страницу.
Вход на веб-страницу.
Содержимое веб-страницы.
Содержимое веб-страницы.

На веб-странице, созданной скриптом, размещаются файлы для установки клиентов RustDesk. Пользователи могут скачивать готовые установщики, а администраторы — использовать скрипты для массового развертывания.

Такие клиенты уже содержат параметры подключения (ID Server и Key), поэтому после установки автоматически подключаются к вашему серверу hbbs/hbbr.

Установка RustDesk-клиента

Клиентская часть RustDesk устанавливается на рабочие станции пользователей и администраторов. Процесс зависит от операционной системы. 

Windows

  1. Перейдите на официальный сайт и нажмите кнопку Download.
  2. Скачайте последнюю версию для Windows (.exe).
  3. Запустите установщик и следуйте инструкциям мастера установки.

macOS

  1. Скачайте .dmg с официального сайта.
  2. Откройте скачанный файл и переместите RustDesk в папку Applications.
Перенос RustDesk в папку Applications.

Android/iOS

  1. Установите приложение RustDesk из Google Play или App Store.
  2. В настройках приложения укажите адрес вашего сервера. 

Теперь вы можете подключаться к удаленным устройствам через свой собственный RustDesk-сервер.

Первичная настройка RustDesk

После первого запуска клиента RustDesk по умолчанию использует публичные серверы проекта. Для работы в режиме self-hosted укажите собственный сервер.

  1. Откройте НастройкиСеть (или Network).
  2. В поле Сервер ID укажите IP-адрес или доменное имя hbbs-сервера.
  3. В поле Ретранслятор укажите IP-адрес hbbr-сервера. 
  4. Вставьте публичный ключ сервера (id_ed25519.pub).
  5. Сохраните настройки и перезапустите клиент.
Окно настроек «ID/Ретронслятор».

После перезапуска клиент получит постоянный ID, зарегистрированный на вашем сервере.

ID и одноразовый пароль рабочего стола.

Рекомендуем сразу задать параметры доступа:

  • постоянный пароль — используется для неконтролируемого подключения без подтверждения со стороны удаленного пользователя;
  • подтверждение подключения — применяется для пользовательских рабочих станций и требует явного разрешения на подключение;
Настройка сеансов (по паролю, нажатием кнопки, по паролю и нажатию кнопки).
  • разрешения сеанса — определяют доступные действия во время подключения (управление клавиатурой и мышью, передача файлов, доступ к буферу обмена и другие).
Разрешения сеанса.
Разрешения сеанса.

Для серверов и технических рабочих мест часто используется режим неконтролируемого доступа. Дополнительные ограничения обычно реализуются на уровне сети — с помощью VPN, файрволов или сегментации доступа, а параметры безопасности клиента настраиваются в разделе Безопасность.

Раздел настроек «Безопасность».
Раздел настроек «Безопасность».

Подключение к удаленному рабочему столу

Основной сценарий подключения в RustDesk — по уникальному ID удаленного узла.

  1. Запустите RustDesk на управляющем компьютере.
  2. Введите ID удаленного компьютера в поле подключения.
  3. Нажмите Подключиться.
Создание нового соединения.

Далее в зависимости от настроек клиент запросит пароль или отправит запрос на подключение принимающей стороне. После успешной аутентификации откроется сессия удаленного рабочего стола.

Запрос пароля при подключении к компьютеру.
Запрос пароля при подключении к компьютеру.
Запрос на подключение с телефона.
Запрос на подключение с телефона.

Типы подключения

RustDesk автоматически выбирает тип соединения в зависимости от сетевых условий:

  • P2P (прямое соединение) — минимальная задержка, используется при доступности NAT traversal;
  • через ретранслятор (hbbr) — применяется, если установить прямое соединение невозможно.

Тип активного соединения отображается в интерфейсе клиента.

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

  • масштабирование и изменение разрешения экрана;
  • переключение режимов качества изображения;
  • передача файлов между узлами;
  • отключение ввода на удаленной стороне;
  • завершение сеанса по инициативе любой из сторон.

Большинство изменений настроек применяется без разрыва активного соединения.

Что еще можно делать в RustDesk

RustDesk — это не просто инструмент для удаленного подключения к рабочим столам. Помимо базового функционала удаленного управления, программа предоставляет набор возможностей, которые делают ее удобной для корпоративного использования, техподдержки и интеграции в существующую инфраструктуру.

Передача файлов

RustDesk позволяет безопасно передавать файлы между локальной и удаленной машинами. Поддерживается выбор отдельных файлов и целых папок, а также настройка разрешений на отправку и получение данных.

Окно подключения к удаленному устройству.
Окно подключения к удаленному устройству.
Окно передачи файлов между локальным и удаленным компьютерами.
Окно передачи файлов.

Чат и голосовой вызов

RustDesk предоставляет встроенные возможности для текстового и голосового общения между пользователями.

Текстовый чат

  • Позволяет обмениваться сообщениями непосредственно в клиенте RustDesk без использования сторонних мессенджеров.
  • Полезен для технической поддержки, обсуждения задач.
  • Сообщения отображаются в отдельной панели и сохраняются в рамках текущей сессии.

Голосовой чат

  • Поддерживает голосовое общение между участниками сеанса без использования сторонних VoIP-сервисов
  • Голосовую связь можно использовать одновременно с текстовым чатом. Полная история коммуникации при этом сохраняется.
  • Формат особенно удобен для обучающих сессий и удаленной поддержки в специфических сценариях.
Пример голосового и текстового чатов.

Настройка прав доступа

RustDesk предоставляет гибкие механизмы контроля доступа:

  • неконтролируемый доступ — постоянное подключение к удаленному устройству с заранее заданным паролем;
  • подтверждение подключения — пользователь удаленного ПК вручную разрешает начало сеанса;
  • ограничение функций —  возможность запретить управление клавиатурой и мышью, передачу файлов или использование буфера обмена.

Такой уровень настройки позволяет организовать безопасную эксплуатацию системы в корпоративных сетях.

Настройка качества изображения и производительности

RustDesk автоматически подбирает оптимальный режим работы в зависимости от пропускной способности сети и разрешения экрана, но при необходимости администратор может вручную:

  • изменить качество изображения,
  • включить или отключить аппаратное ускорение,
  • ограничить частоту обновления экрана для экономии трафика.
Настройка качества изображения.
Настройка качества изображения.
Настройка разрешения для изображений.
Настройка разрешения для изображений.

Эти настройки помогают адаптировать систему под слабые каналы связи или ресурсоограниченные устройства.

Выбор качества изображения и кодека по умолчанию.
Выбор качества изображения и кодека по умолчанию.

Чем может помочь Selectel

Selectel предоставляет облачные серверы, которые подходят для развертывания собственной инфраструктуры. Среди прочего, на базе облака можно развернуть RustDesk и получить полностью управляемый удаленный хост без зависимости от сторонних облачных сервисов.

Такой подход позволяет контролировать сетевые соединения, обеспечить стабильную производительность и при необходимости масштабировать систему под рост нагрузки.

Заключение

RustDesk — гибкое решение для организации удаленного доступа с полным контролем над серверной инфраструктурой. Поддержка собственных серверов, ретрансляции трафика и клиентских приложений для разных платформ делает его подходящим как для небольших офисов, так и для крупных распределенных организаций с повышенными требованиями к безопасности и управляемости.