轻量级远程桌面软件——RustDesk

序言

  RustDesk 是一款远程桌面软件,开箱即用,无需任何配置。

Docker 部署

  我们可通过 Dokcer 快速自建。

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cat >> docker-compose.yml <<EOF
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
# IP 替换为对应的域名
command: hbbs -r 192.168.0.24: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
EOF

启动

1
docker-compose up -d

使用

  下载 RustDesk 客户端,点击 ID 右侧的菜单按钮如下,选择“ ID/中继服务器”。

  之后在 ID 服务器中填写对应的域名。

  除此以外,由于我们配置了通讯加密功能,因此还需要填写Key才可连接。

  hbbs在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的id_ed25519id_ed25519.pub文件中),其主要用途是为了通讯加密。我们可通过以下命令查看对应的公钥内容:

1
2

cat data/id_ed25519.pub

Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server {
listen 443 ssl;
server_name rust-desk.xx.com;

# 证书文件名称
ssl_certificate /etc/nginx/certificate/rustdesk/rust-desk.xx.com_bundle.crt;
# 私钥文件名称
ssl_certificate_key /etc/nginx/certificate/rustdesk/rust-desk.xx.com.key;
ssl_session_timeout 5m;
# 请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
# 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 代理
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";

location / {
proxy_pass http://127.0.0.1:21114;
}

location /ws/relay {
proxy_pass http://127.0.0.1:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}

}

注意

  默认情况下,hbbs监听21115(tcp), 21116(tcp/udp)21118(tcp)hbbr 监听21117(tcp)21119(tcp),因此服务器注意开发这几个端口。

  其中:

  • 21115hbbs用作NAT类型测试
  • 21116/UDPhbbs用作 ID 注册与心跳服务
  • 21116/TCPhbbs用作TCP打洞与连接服务
  • 21117hbbr用作中继服务
  • 2111821119是为了支持网页客户端(如果不需要网页客户端可以不开)
0%