Blame
59c102 | Mayekkuzu | 2024-11-12 19:38:40 | 1 | ## Rustesk |
2 | ||||
3 | **Rustdesk** - программа для удаленного администрирования компьютером, которая позволит тебе находясь хоть в Тайланде, хоть в уютном офисе удаленно нажимать кнопочки и передавать файлики. Особо популярна среди сисадминов и, увы, скамеров. Поддерживает шифрование (предварительно сгенерированый ключ), но если ключ не указывать, то передача данных будет производиться без него, что не очень хорошо. При этом даже с ключем ругается что соединение не защищено. Такие дела. | |||
4 | ||||
5 | ||||
6 | ## Установка сервера с Docker-Compose | |||
7 | ||||
8 | Подразумеваем что [docker-compose](/Linux/System/docker-compose) уже установлен. | |||
9 | ||||
10 | ||||
11 | Создаем папку rustdesk-server. Внутри папки создаем фаил docker-compose.yaml | |||
12 | Вписываем содержимое: | |||
13 | ||||
14 | ```yaml | |||
15 | version: '3' | |||
16 | ||||
17 | networks: | |||
18 | rustdesk-net: | |||
19 | external: false | |||
20 | ||||
21 | services: | |||
22 | hbbs: | |||
23 | container_name: hbbs | |||
24 | ports: | |||
25 | - 21115:21115 | |||
26 | - 21116:21116 | |||
27 | - 21116:21116/udp | |||
28 | - 21118:21118 | |||
29 | image: rustdesk/rustdesk-server:latest | |||
30 | command: hbbs -r relay.example.com:21117 | |||
31 | volumes: | |||
32 | - ./data:/root | |||
33 | networks: | |||
34 | - rustdesk-net | |||
35 | depends_on: | |||
36 | - hbbr | |||
37 | restart: unless-stopped | |||
38 | ||||
39 | hbbr: | |||
40 | container_name: hbbr | |||
41 | ports: | |||
42 | - 21117:21117 | |||
43 | - 21119:21119 | |||
44 | image: rustdesk/rustdesk-server:latest | |||
45 | command: hbbr | |||
46 | volumes: | |||
47 | - ./data:/root | |||
48 | networks: | |||
49 | - rustdesk-net | |||
50 | restart: unless-stopped | |||
51 | ``` | |||
52 | ||||
53 | Разберем параметры, на которые стоит обратить внимание. | |||
54 | ||||
55 | - Контейнеры внутри: | |||
56 | `hbbs` - RustDesk ID/Rendezvous сервер | |||
57 | `hbbr` - Сервер RustDesk Relay | |||
58 | ||||
59 | - Порты: По умолчанию работают 21115/TCP, 21116/TCP/UDP и 21118/TCP, 21117/TCP и 21119/TCP. 21118-21119 порты можно не открывать, потому как это требуется для веб-служб сервиса. | |||
60 | ||||
61 | - Relay: используется для ретрансляции сервиса rustdesk. Используется если сервисов несколько и расположены на разных серверах. Параметр `hbbs` можно оставить без ключа `-r`. Здесь он указан в качестве примера. | |||
62 | ||||
63 | - Volumes: указание папки хранения ключа и базы данных. Можно указать произвольную. | |||
64 | ||||
65 | ||||
66 | Отдельно стоит отметить шифрование. По умолчанию в папке `./data` создается пара ключей ed25529. Нам нужно посмотреть содержимое публичного ключа `id_ed25529.pub`. | |||
67 | Ключ указываем в docker-compose.yaml | |||
68 | ||||
69 | ```yaml | |||
70 | ... | |||
71 | image: rustdesk/rustdesk-server:latest | |||
72 | command: hbbs -r IP_ADDRESS_RELAY:21117 -k СОДЕРЖИМОЕ_КЛЮЧА | |||
73 | ... | |||
74 | ||||
75 | ... | |||
76 | image: rustdesk/rustdesk-server:latest | |||
77 | command: hbbr -k СОДЕРЖИМОЕ_КЛЮЧА | |||
78 | ... | |||
79 | ``` | |||
80 | ||||
81 | Запускаем сервер командой `docker-compose up -d` | |||
82 | Дополнительно открываем порты на маршрутизаторе. Если используем сервер на VPS/VDS - открываем порты в ufw или iptables. | |||
83 | ||||
84 | ## Настройка клиента | |||
85 | ||||
86 | Скачиваем [клиент](https://github.com/rustdesk/rustdesk/releases/) для требуемой платформы. | |||
87 | В настройках указываем ip/dns сервера и ключ который мы взяли с файла `id_ed25529.pub` | |||
88 | ||||
89 | ![](/Self-Hosted/Rustdesk/rustdesk_pc_settings.png) | |||
90 | ||||
91 | Если используете клиент для Android - настройки аналогичные | |||
92 | ||||
93 | ## Ссылки | |||
94 | [Сайт проекта](https://rustdesk.com) | |||
95 | ||||
96 | [Gitea Link](https://gitea.mayex.net/mayekkuzu/rustdesk-server) |