
RustDesk — приложение для удалённого рабочего стола с открытым исходным кодом, разработанное для самохостинга в качестве альтернативы TeamViewer. Название такое, потому что программа написана на Rust.
Работает из коробки, не требует конфигурации. Если установить сервер синхронизации на своём хостинге, то любые машины в интернете могут синхронизироваться и устанавливать соединение через наш сервер для удалённого управления рабочими столами друг друга. Трафик идёт напрямую между ними, но если это невозможно — тоже через сервер, до 3 Мбит/с (1920×1080).
Клиентское приложение есть для iOS и Android (на КДПВ), что позволяет со смартфона управлять рабочим столом Windows, Linux и MacOS (и наоборот), а также обмениваться файлами. Есть ещё веб-клиент.
Нужно заметить, что серверный компонент RustDesk распространяется с закрытым исходным кодом, что даёт возможность компании взимать плату за его использование (даже на самохостинге, без SaaS). У бесплатной опенсорсной версии ряд ограничений:

В документации описана установка и использование RustDesk в контейнере Docker, на свой сервер под Windows с PM2 или NSSM, на Synology DSM 7.2 и DSM 6, Ubuntu Server, а также Ubuntu Server с Docker. Всё это доступные варианты самохостинга.
Будем устанавливать серверную версию для Ubuntu Server.
Как обычно, выбираем подходящую конфигурацию сервера в конфигураторе RUVDS или из готовых шаблонов. Минималистичные серверы ценой от 139 руб. в месяц находятся в разделе VPS Старт. Для RustDesk такого достаточно:

Аппаратные требования серверного модуля RustDesk очень низкие. В документации сказано, что можно выбирать VPS минимальной конфигурации, а также использовать в качестве сервера Raspberry Pi или другой одноплатник. Что касается канала, то при сбое прямого соединения TCP hole punching трафик пойдёт через сервер ретрансляции. Трафик ретрансляционного соединения составляет от 30 Кбит/с до 3 Мбит/с (разрешение экрана 1920×1080) в зависимости от настроек разрешения и частоты обновления экрана. Для офисной работы достаточно 100 Кбит/с.
На Ubuntu Server есть два способа установки RustDesk: в контейнере Docker или путём обычной установки .deb. Начинающим пользователям рекомендуется использовать контейнер, потому что там достаточно просто скопировать
compose.yml
, внести некоторые изменения — и всё готово. Свежие контейнеры Docker в репозитории автоматически генерируются при каждом релизе, после чего публикуются в Docker Hub и GitHub Container Registry. Есть два типа контейнеров:- классические образы под архитектуры amd64, arm64v8, armv7
- образы на базе S6-overlay с добавлением бинарных файлов
Но в таком случае минимальной конфигурации VPS будет недостаточно, потому что виртуальной машине на самохостинге нужно минимум 1 ГБ RAM и 32 ГБ места на диске.
▍ Установка скриптом
Что касается простой установки на чистом Linux, то можно использовать специальный инсталляционный скрипт, который проверен под CentOS Linux 7/8, Ubuntu 18/20/22/24 и Debian.
Его мы и используем в первую очередь.
На VPS-сервере после его включения уже установлена операционная система Ubuntu 24.04, а нам выдали IP-адрес и учётные данные для авторизации:

Дальнейший алгоритм действий:
- Подключаемся к серверу стандартным способом по SSH:
Устанавливаем файрвол UFW (стандартный вариант для систем на базе Debian):
apt-get install ufw
- Настраиваем порты файрвола:
ufw allow 21114:21119/tcp ufw allow 8000/tcp ufw allow 21116/udp sudo ufw enable
(Теоретически, сначала на файрволе надо открыть порт 22 для SSH, но на нашем VPS от RUVDS он изначально открыт).
- Запускаем инсталляционный скрипт:
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh chmod +x install.sh ./install.sh
Скрипт устанавливает все необходимые программы и зависимости, а потом спрашивает о предпочтительном методе подключения к серверу: IP-адрес или домен.
Выбираем IP-адрес.
Потом предлагает скачать файлы конфигурации и установить HTTP-сервер:
Можно согласиться.
- Установка сервера завершена с выдачей публичного ключа, админского логина и пароля:
▍ Установка клиентов

Теперь установим RustDesk на клиентские устройства, откуда будет происходить передача и управление рабочим столом. Клиентские устройства подключаются к серверу по указанному IP-адресу, используя его публичный ключ, выданный ранее:
Your IP/DNS Address is 194.87.103.130 Your public key is 1AQBKNnylHs9ZEq32I2Axl51MJtCNp0Reqngdlu4Hvg= Install Rustdesk on your machines and change your public key and IP/DNS name to the above You can access your install scripts for clients by going to http://194.87.103.130:8000 Username is admin and password is 5EIpg7IAH07YYujc
Если зайти к себе на сервер по адресу
http://194.87.103.130:8000
с админским паролем, то там лежат скрипты для установки клиентов под Linux и Windows, в том числе PowerShell-скрипт WindowsAgentAIOInstall.ps1
для установки клиента RustDesk под Windows.
Запускаем скрипт на исполнение. Под Windows установка занимает десяток секунд, после чего открывается окно для управления рабочим столом:

Дальнейшее понятно. Если нужно управлять удалённым рабочим столом, то вводим удалённый ID. Если наоборот — то здесь же указан ID данного рабочего стола и пароль.
Примечание. Десктопные версии RustDesk используют библиотеку Flutter или Sciter (устаревшую) для GUI, вторую в случае необходимости придётся скачать отдельно: Windows | Linux | macOS.
В репозитории Techahold есть ещё скрипт для обновления RustDesk, он может пригодиться в будущем:
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/update.sh
chmod +x update.sh
./update.sh
Установка RustDesk на Ubuntu Server, видеоруководство:
▍ Сборка вручную
Инструкции по сборке см. в официальном репозитории rustdesk-server:
cargo build --release
Эта команда генерирует три исполняемых файла:
-
hbbs
— сервер RustDesk ID/Rendezvous
-
hbbr
— сервер ретрансляции RustDesk
-
rustdesk-utils
— консольные утилиты RustDesk
Отдельно распространяются платная версия RustDesk Server Pro и упрощённая демо-версия rustdesk-server-demo, предназначенная для создания собственных реализаций RustDesk.
У платной версии есть ряд дополнительных опций, по сравнению с бесплатной: в том числе веб-консоль (на порту 21114), через которую можно управлять всеми клиентами, где мы установили RustDesk.


В платной версии для самохостинга есть 2FA, контроль доступа, централизованные настройки и функция распределённых рилей-серверов.
▍ Установка из файла
Скачиваем файлы
.deb
из раздела Downloadв официальном репозитории и устанавливаем командой:
apt-get -f install <filename>.deb
или
dpkg -i <filename>.deb
В этом же разделе лежат исполняемые файлы сервера под Linux и Windows, консольные утилиты и проч.
Если возникают проблемы с пробитием файрвола, см. отдельную статью, где описана настройка технологии NAT Loopback на маршрутизаторе и установка локального DNS-сервера.
▍ P2P Remote Desktop
В качестве бонуса можно упомянуть ещё P2P Remote Desktop: P2P-удалённый десктоп, тоже альтернатива TeamViewer/AnyDesk. Эта портативная программа для Windows работает предельно просто: просто копируем рабочий файл
p2p.exe
на оба компьютера, которые планируется подключить друг к другу.
Затем на одном из компьютеров нужно скопировать
My Wan IP
(и порт) или My Lan IP
— и передать его на второй, а со второго на первый.
Теперь на каждом из узлов указано по два IP-адреса, так что подключаемся: на обоих ПК нажимаем
Connect
. После установления связи прямой пиринговой можно обмениваться текстовыми сообщениями или управлять рабочим столом удалённого компьютера, для этого предназначена кнопка Desktop
.
Для работы используется протокол UDT, и он должен пробивать большинство файрволов.

Наверное, это самая простая программа для удалённого управления рабочим столом, хотя тут тоже используется промежуточный сервер для синхронизации. Тем не менее, это минималистичная и бесплатная программа.
Из других более-менее рабочих опенсорсных альтернатив TeamViewer можно упомянуть Remotely, Screego и MeshCentral+Tactical RMM.
© 2025 ООО «МТ ФИНАНС»
Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (24)
13werwolf13
22.01.2025 09:32недостаток в том что используя свой сервер ты можешь подключаться только к клиентом использующим тот же сервер. в большинстве кейсов это конечно хорошо, но многие отказались от растдеска именно по этой причине. им бы опциональную федеративность сделать..
DustHumia
22.01.2025 09:32В последних версиях вроде как добавили возможность и к паблику подключаться и к другим серверам.
hochbar
22.01.2025 09:32У них же есть и публичный сервер
13werwolf13
22.01.2025 09:32с которым клиент перестаёт работать когда прописываешь ему свой персональный. всегда конечно можно поменять вручную, но это лишние действия (ЕМНИП около 7ми действий) которые нервируют
Menma
22.01.2025 09:32Как вы вовремя опубликовали. Понравилась скорость и ценник, да и комп не нагружает особо. AnyDesk неплохо, на грузил больше и денег много хотел. Буду внедрять.
AlexanderS
22.01.2025 09:32Есть еще LiteManager, которому уже лет 20 наверное со своим автономным решением сервера NoIP. Из относительно недавних ещё есть Aspia. Выбирать есть из чего)
hochbar
22.01.2025 09:32А они же через серый ip не пробиваются?
AlexanderS
22.01.2025 09:32Так без сервера синхронизации рассматриваемый в статье вариант за NAT тоже работать не будет.
Anatoliy_rnd
22.01.2025 09:32Ну если свой сервер noip организуете то все работает. Там была давно какая-то проблема если использовать общий сервер noip, не с доступом а с безопасностью.
n1kk0777
22.01.2025 09:32Всем привет, подскажите это можно назвать альтернативой для Moonlight+Sunshine для игр?
SY573M_404
22.01.2025 09:32Нет, упомянутые 3 Мбит/с - смешно для задач стриминга. Да и управление едва ли оптимизировано для этого. А почему этой связке требуется альтернатива?
SlavikF
22.01.2025 09:32Я использую guacamole.
У RustDesk слишком много всего закрытого или платного.
sovid
22.01.2025 09:32Прикол в том что российский софт под название RuDesktop сделан на основе RustDesk и работает не так конечно хорошо, но есть куда двигаться.
Measurer01
22.01.2025 09:32Минималистичные серверы ценой от 139 руб. в месяц находятся в разделе VPS Старт. Для RustDesk такого достаточно:
Ага. До ваших Старт серверов вечером скорость падает до 1-2 Мбит/с. Сами же говорите, что не гарантируете скорость до таких серверов.
werter_l
22.01.2025 09:32SctgDesk Server Program https://github.com/sctg-development/sctgdesk-server This is a modified version of RustDesk Server, which is free and open source. The first difference is that this version includes the new tcp mode included in the RustDesk Server Pro version. The second difference is that this version includes a preliminary implementation of the Rustdesk Server Pro API server. Support for personal address book Support for shared address book at group level read-only, read-write, admin Support for shared address book at user level read-only, read-write, admin The third difference is that this version includes a preliminary implementation of a simple webconsole.
Tirarex
Хорошая статья! Пользуюсь Rustdesk уже много лет, стабильно, достаточно быстро, очень удобно. Рад что заранее ушел с тимвивера.
Arhangel12
Эта хрень с Вэйландом работает?
PRODIGY
Подключать с вэйланд да, к сессии на выйланд тебе нет. В клиенте сразу пишет об этом.
hochbar
Какие ограничения бесплатной версии для самохостинга?
CorruptotronicPervulator
Все. Никакого управления нет, ключ один единственный. Клиент мгновенно утекает налево и твоим сервером начинает пользоваться весь интернет.
CptAFK
То есть ничем не отличается от rms и litemanager, ключ на который стоит копейки.