Все потоки
Анонимный Дед Мороз уже здесь

Войти

3918.09

Общий рейтинг

RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Подписаться

ru_vds22 янв в 14:01

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

Средний

5 мин

53K

Блог компании RUVDS.comOpen source * Серверное администрирование * СофтХостинг

Туториал

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 💻

Теги:

ruvds_статьи

RustDesk

самохостинг

P2P Remote Desktop

удаленный рабочий стол

P2P

TeamViewer

AnyDesk

Remotely

Screego

MeshCentral

Tactical RMM

Flutter

Sciter

Rust

NAT Loopback

PM2

NSSM

файрвол

Хабы:

Блог компании RUVDS.com

Open source

Серверное администрирование

Софт

Хостинг

+52

148

40
+1

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Оставляя почту, я принимаю Политику конфиденциальности и даю согласие на получение рассылок

RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

TelegramВКонтактеX

607

Карма

163.6

Общий рейтинг

@ru_vds

Пользователь

Подписаться

Комментарии 40

Публикации

Лучшие за суткиПохожие

Alex_S2220 часов назад

Подрядчик обманул нас на заводе, но ИИ разоблачил его, а потом сэкономил ещё 170 млн ₽

Простой

10 мин

13K

Кейс

+87

36

55
+55

Ka1seR21 час назад

Софт реально убивает. Самые разрушительные баги за всю историю человечества

11 мин

14K

Ретроспектива

+43

41

22
+22

inetstar20 часов назад

Ассемблер для гоферов. Часть 1

Средний

9 мин

10K

Обзор

+37

48

2
+2

JetHabr23 часа назад

«Работает — не трогай», но с YDB можно: испытания отказоустойчивости в боевых условиях

Средний

14 мин

8.1K

Туториал

+30

18

3
+3

RationalAnswer3 часа назад

Новый вид мошенничества: шантаж с блокировкой всех ваших карт

2 мин

4.2K

+26

5

29
+29

mshogin14 часов назад

Почему вайб-кодинг не работает

Средний

14 мин

15K

Мнение

+24

65

43
+43

kmoseenk22 часа назад

Почему Erlang до сих пор король отказоустойчивых систем

Средний

12 мин

8.3K

Обзор

Перевод

+20

36

3
+3

CyberPaul2 часа назад

Москва – CASIOпея. Вспоминаем уникальный винтажный ноутбук Cassiopeia FIVA MPC-102

Простой

6 мин

3K

Ретроспектива

+19

3

0

Yaroslav_Khnykov18 часов назад

Нейросетевая модель интересов пользователя: как мы улучшили разнообразие и релевантность рекомендаций на главной Авито

Средний

9 мин

10K

+19

12

7
+7

Aleron7521 час назад

Как я подружил Wildberries с n8n: создаем простейшего ИИ-агента для селлера. Реальный кейс автоматизации

Простой

4 мин

7.2K

Кейс

+19

30

20
+20

Показать еще

Информация

Сайт

ruvds.com

Дата регистрации

18 марта 2016

Дата основания

27 июля 2015

Численность

11–30 человек

Местоположение

Россия

Представитель

ruvds

Ссылки

VPS / VDS сервер от 139 рублей в месяцruvds.com

Дата-центры RUVDS в Москве, Санкт-Петербурге, Казани, Екатеринбурге, Новосибирске, Лондоне, Франкфурте, Цюрихе, Амстердаме, Измиреruvds.com

Помощь и вопросыruvds.com

Партнерская программа RUVDSruvds.com

VPS (CPU 1x2ГГц, RAM 512Mb, SSD 10 Gb) — 209 рублей в месяцruvds.com

VPS Windows от 588 рублей в месяц. Попробуйте бесплатно на 3 дняruvds.com

VDS в Цюрихе. Дата-центр TIER III — швейцарское качество по низкой цене.ruvds.com

Антивирусная защита виртуального сервера. Легкий агент для VPS.ruvds.com

VPS в Лондоне. Дата-центр TIER III — английская точность за рубли.ruvds.com

VPS с видеокартой на мощных серверах 3,4ГГцruvds.com

Приложения

RUVDS Client

Приложение для мониторинга и управления виртуальными серверами RUVDS с мобильных устройств.

Android

iOS

Виджет

Блог на Хабре

47 минут назад

Темная история IPv6: почему мы 30 лет «переходим», но так и не перешли

1.3K

5
+5

20 часов назад

Ассемблер для гоферов. Часть 1

10K

2
+2

вчера в 14:01

Как сделать ужасный интерфейс для пользователя. Моя коллекция простых лайфхаков

8.8K

6
+6

8 дек в 18:01

Почему хорошие разработчики пишут плохой код в больших компаниях

16K

43
+43

8 дек в 14:01

Видеокодек AV2 готов. Почему нам важны открытые стандарты

13K

46
+46

Ваш аккаунт

Войти

Регистрация

Разделы

Статьи

Новости

Хабы

Компании

Авторы

Песочница

Информация

Устройство сайта

Для авторов

Для компаний

Документы

Соглашение

Конфиденциальность

Услуги

Корпоративный блог

Медийная реклама

Нативные проекты

Образовательные программы

Стартапам

Настройка языкаТехническая поддержка
© 2006–2025, Habr