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

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

Аппаратные требования серверного модуля RustDesk очень низкие. В документации сказано [17], что можно выбирать
На Ubuntu Server есть два способа установки RustDesk: в контейнере Docker [14] или путём обычной установки .deb. Начинающим пользователям рекомендуется использовать контейнер, потому что там достаточно просто скопировать compose.yml, внести некоторые изменения — и всё готово. Свежие контейнеры Docker в репозитории автоматически генерируются при каждом релизе, после чего публикуются в Docker Hub [18] и GitHub Container Registry [19]. Есть два типа контейнеров:
Но в таком случае минимальной конфигурации
Что касается простой установки на чистом Linux, то можно использовать специальный инсталляционный скрипт [17], который проверен под CentOS Linux 7/8, Ubuntu 18/20/22/24 и Debian.
Его мы и используем в первую очередь.
На VPS-сервере после его включения уже установлена операционная система Ubuntu 24.04, а нам выдали IP-адрес и учётные данные для авторизации:

Дальнейший алгоритм действий:

Устанавливаем файрвол UFW (стандартный вариант для систем на базе Debian):
apt-get install ufw

ufw allow 21114:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
sudo ufw enable

(Теоретически, сначала на файрволе надо открыть порт 22 для SSH, но на нашем
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 [21] | Linux [22] | macOS [23].
В репозитории Techahold [24] есть ещё скрипт для обновления RustDesk, он может пригодиться в будущем:
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/update.sh
chmod +x update.sh
./update.sh
Установка RustDesk на Ubuntu Server, видеоруководство:
Инструкции по сборке см. в официальном репозитории rustdesk-server [7]:
cargo build --release
Эта команда генерирует три исполняемых файла:
hbbs — сервер RustDesk ID/Rendezvous
hbbr — сервер ретрансляции RustDesk
rustdesk-utils — консольные утилиты RustDeskОтдельно распространяются платная версия RustDesk Server Pro [25] и упрощённая демо-версия rustdesk-server-demo [26], предназначенная для создания собственных реализаций RustDesk.
У платной версии есть ряд дополнительных опций, по сравнению с бесплатной: в том числе веб-консоль [27] (на порту 21114), через которую можно управлять всеми клиентами, где мы установили RustDesk.


В платной версии для самохостинга есть 2FA, контроль доступа [28], централизованные настройки и функция распределённых рилей-серверов.
Скачиваем файлы .deb из раздела Download [29]
в официальном репозитории и устанавливаем командой:
apt-get -f install <filename>.deb
или
dpkg -i <filename>.deb
В этом же разделе лежат исполняемые файлы сервера под Linux и Windows, консольные утилиты и проч.
Если возникают проблемы с пробитием файрвола, см. отдельную статью [30], где описана настройка технологии NAT Loopback на маршрутизаторе и установка локального DNS-сервера.
В качестве бонуса можно упомянуть ещё P2P Remote Desktop [31]: P2P-удалённый десктоп, тоже альтернатива TeamViewer/AnyDesk. Эта портативная программа для Windows работает предельно просто: просто копируем рабочий файл p2p.exe на оба компьютера, которые планируется подключить друг к другу.

Затем на одном из компьютеров нужно скопировать My Wan IP (и порт) или My Lan IP — и передать его на второй, а со второго на первый.

Теперь на каждом из узлов указано по два IP-адреса, так что подключаемся: на обоих ПК нажимаем Connect. После установления связи прямой пиринговой можно обмениваться текстовыми сообщениями или управлять рабочим столом удалённого компьютера, для этого предназначена кнопка Desktop.

Для работы используется протокол UDT [32], и он должен пробивать большинство файрволов.

Наверное, это самая простая программа для удалённого управления рабочим столом, хотя тут тоже используется промежуточный сервер для синхронизации. Тем не менее, это минималистичная и бесплатная программа.
Из других более-менее рабочих опенсорсных альтернатив TeamViewer можно упомянуть Remotely [33], Screego [34] и MeshCentral [35]+Tactical RMM [36].
© 2025 ООО «МТ ФИНАНС»
Автор: ru_vds
Источник [37]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/teamviewer/408490
Ссылки в тексте:
[1] Image: https://habr.com/ru/companies/ruvds/articles/874196/
[2] RustDesk: https://rustdesk.com/
[3] хостинге: https://www.reg.ru/?rlink=reflink-717
[4] для iOS: https://testflight.apple.com/join/KBG9EsZW
[5] Android: https://f-droid.org/en/packages/com.carriez.flutter_hbb/
[6] веб-клиент: https://rustdesk.com/web/
[7] бесплатной опенсорсной версии: https://github.com/rustdesk/rustdesk-server
[8] документации: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/
[9] контейнере Docker: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/
[10] под Windows с PM2 или NSSM: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/windows/
[11] Synology DSM 7.2: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/synology/dsm-7/
[12] DSM 6: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/synology/dsm-6/
[13] Ubuntu Server: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/ubuntu-server/
[14] Ubuntu Server с Docker: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/ubuntu-server/docker/
[15] конфигураторе RUVDS: https://ruvds.com/ru-rub
[16] VPS Старт: https://ruvds.com/ru/vps_start/
[17] сказано: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/
[18] Docker Hub: https://hub.docker.com/r/rustdesk
[19] GitHub Container Registry: https://github.com/rustdesk?tab=packages&repo_name=rustdesk-server
[20] S6-overlay: https://github.com/just-containers/s6-overlay
[21] Windows: https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll
[22] Linux: https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
[23] macOS: https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib
[24] Techahold: https://github.com/techahold/rustdeskinstall
[25] RustDesk Server Pro: https://rustdesk.com/pricing/
[26] rustdesk-server-demo: https://github.com/rustdesk/rustdesk-server-demo
[27] веб-консоль: https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/console/
[28] контроль доступа: https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/permissions/
[29] Download: https://github.com/rustdesk/rustdesk-server/releases/latest
[30] отдельную статью: https://rustdesk.com/docs/en/self-host/nat-loopback-issues/
[31] P2P Remote Desktop: https://github.com/miroslavpejic85/p2p
[32] протокол UDT: https://en.wikipedia.org/wiki/UDP-based_Data_Transfer_Protocol
[33] Remotely: https://github.com/immense/Remotely
[34] Screego: https://screego.net/
[35] MeshCentral: https://github.com/Ylianst/MeshCentral
[36] Tactical RMM: https://github.com/amidaware/tacticalrmm
[37] Источник: https://habr.com/ru/companies/ruvds/articles/874196/?utm_campaign=874196&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.