IT
February 21

Установка RustDesk Server, аналог Anydesk и TeamViewer

Установка RustDesk Server, аналог Anydesk и TeamViewer

Введение

В данной заметке будет рассмотрена установка Rustdesk сервера, Open source дистрибутив для удаленного доступа, аналог AnyDesk, TeamViewer и прочих

Не так давно листал новости и наткнулся на эту, давно на всякий случай искал замену Anydesk и решил перестраховаться, разберем два способа установки, с помощью Docker и скрипта.


Установка RustDesk с помощью Docker

Как не странно нам понадобится установленный Docker и Docker-Compose, как установить в одну команду смотрим тут

Перед установкой пробрасываем tcp порты на роутере: 21115, 21116, 21117, 21118, 21119 и один upd 21116, если у вас vps, то открываем их брандмауэром (на последнем чаще всего все и так открыто).

1. Создаем директорию под RustDesk:

mkdir -p /app/rustdesk
cd /app/rustdesk/

2. Создаем Docker Compose и наполняем его следующим содержимым:

nano docker-compose.yml

3. Замените в строке command: hbbs -r ВАШ_IP_ИЛИ_ДОМЕН:21117 -k на свое значение:

version: '3'

networks:
  rustdesk-net:
    external: false

services:
  hbbs:
    container_name: hbbs
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r ВАШ_IP_ИЛИ_ДОМЕН:21117 -k _
    volumes:
      - ./data:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    ports:
      - 21117:21117
      - 21119:21119
    image: rustdesk/rustdesk-server:latest
    command: hbbr -k _
    volumes:
      - ./data:/root
    networks:
      - rustdesk-net
    restart: unless-stopped

В данном yaml есть две строки:

command: hbbs -r ВАШ_IP_ИЛИ_ДОМЕН:21117 -k _
command: hbbr -k _

-k _ — запретить пользователям без ключа устанавливать незашифрованные соединения (если у клиента не будет указан ключ (id_ed25519.pub), то соединения не получиться), если вам это не нужно и вы хотите что бы вашим RustDesk сервером мог пользоваться любой кто знает его ip, то просто удаляем -k _.

4. Далее запускаем наш docker-compose.yml:

docker compose up -d

5. Для дальнейшей работы нам понадобится сертификат id_ed25519.pub, смотрим и копируем его содержимое:

cat /app/rustdesk/data/id_ed25519.pub

И переходим уже к настройке самой программы

Внимание, если содержимое id_ed25519.pub содержит недопустимые знаки для Windows (\ / : * ? » < > | +) то лучше перегенерировать ключи, удаляем и перезагружаем контейнер

1. Удаляем ключи:

rm /app/rustdesk/data/id_ed25519*

2. Смотрим название нашего контейнера:

docker ps

3. Перезагружаем его:

docker restart название_контейнера

4. Снова смотрим наш ключ и если недопустимых знаков нет, то копируем его:

cat /app/rustdesk/data/id_ed25519.pub

Настройка RustDesk

Скачиваем с Github нужный нам дистрибутив для нашей ос

После запуска нас встречает интерфейс как на скриншоте, чем то напоминающее AnyDesk, переходим в настройки, жмем три полоски в верхнем правом углу или на три точки рядом с ID

Установка RustDesk Server, аналог Anydesk и TeamViewer

Здесь нас интересует вкладка Сеть, жмем Разблокировать сетевые настройки и заполняем:

  • Сервер ID — вставляем IP адрес нашего сервера
  • Ретранслятор — оставляем пустым или вставляем IP адрес нашего сервера
  • Key — вставляем содержимое id_ed25519.pub которое скопировали на предыдущем шаге
Установка RustDesk Server, аналог Anydesk и TeamViewer

Готово, можем пользоваться

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

rustdesk_host=XXX.XXX.XXX.XXX,key=СОДЕРЖИМОЕ_id_ed25519.pub=.exe

После можно проверить на вкладке О программе, у нас появится Отпечаток и ключ с IP адресом нашего сервера

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

Установка RustDesk Server, аналог Anydesk и TeamViewer

Установка RustDesk с помощью скрипта

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

1. Так же открываем или пробрасываем порты 21115, 21116, 21117, 21118, 21119, 8000 (8000 для вебморды в которой будут скрипты для установки клиентов, сам не пользовался) и один upd 21116

2. И вводим данные команды:

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

3. Нам будет предложено выбрать что вы будете использовать IP или домен (Choose your preferred option, IP or DNS/Domain)

4. Далее нам будет предложено установить веб сервер для скачивания скриптов установки ((для этого мы открывали 8000 порт) Please choose if you want to download configs and install HTTP server: выбираем 1 или 2)

5. Копируем

  • Your IP/DNS Address is ХХХ.ХХХ.ХХХ.ХХХ
  • Your public key is строку с публичным ключом

6. Настраиваем по аналогии выше RustDesk клиент и пользуемся


Вывод

В данной заметке разобрали два способа установки своего RestDesk сервера

Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT или посетить мой сайт, спасибо за потраченное время на чтение и доброго времени суток!)