远程控制软件RustDesk使用完全教程
RustDesk是非常有名的远程控制软件,在github有近10万star,开源免费,支持多种操作系统,包括 Windows、macOS、Linux,以及移动端的 iOS 和 Android,甚至还有网页客户端。不过,由于其官方服务器在国外,在国内使用会遇到很多问题。鉴于目前同类软件大都收费,即使有免费版也是有各种限制,好好研究和尝试一下这个软件还是很有必要的。本教程试图通用最简单易懂的方式解决所有可能遇到的问题,让小白也能用上这款非常好用的远程控制神器。不夸张地说,本教程是目前全网最全面的。
准备工作
下载RustDesk相应版本客户端:rustdesk
注意不要在非官方下载客户端,有被植入木马的风险。
简单使用
连接同一宽带环境的设置不需要服务器,直接使用即可。注意,纯内网使用在控制端不必填软件给出的ID,要直接填写ip地址或内网地址。
如果设备不是在同一宽带环境,最简单的方法就是用异地组网软件。例如比扬云,注册账号,下载客户端登录使用,可以生成内网地址,将其填入控制端与受控端即可连接。
进阶使用
比扬云之类异地组网软件虽然有免费版,但有速率限制。并且,这实际上是将比扬云用作服务器,对于有些用户而言可能会有数据泄露的担心。因此,更推荐的做法是自建服务器。当然,这就需要自备一台vps,延迟越低越好,推荐国内或离得较近的港台日韩区的虚拟机。
安装服务器
官方安装服务器的步骤较为复杂,且API功能也是收费的。这里使用lejianwen大佬基于RustDesk独立开发的服务器镜像,完全开源免费的使用一切功能。
SSH远程连接vps,注意以下命令只适用于debian/ubuntu,其他系统请自行查找相应命令。
- 防火墙放行端口(若更改默认端口则放行相应端口)
TCP:21114-21119
UDP:21116
- 安装docker
sudo apt update
curl -sSL https://get.docker.com/ | sh
- 安装docker compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
- 安装nano命令(若已安装跳过,使用vim命令也可以)
sudo apt install nano
- 创建目录
mkdir -p /data/rustdesk
- 编辑配置
nano /data/rustdesk/docker-compose.yml
将以下内容中“你的IP”修改为自己vps的IP,若是IPv6注意IP要加方括号。
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=你的IP:21117
- ENCRYPTED_ONLY=1
- MUST_LOGIN=N
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=你的IP:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=你的IP:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://你的IP:21114
- RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
- RUSTDESK_API_JWT_KEY=xxxxxx # 随意输入字符即可
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
复制粘贴到刚创建的docker-compose.yml文件中,crl+o回车保存,crl+x退出。
- 拉取镜像
cd /data/rustdesk
docker compose up -d
等待成功后,就能正常打开和登录API面板:http://你的IP:21114
默认用户名:admin
默认密码通过以下命令在日志中查找:
docker logs rustdesk-rustdesk-1
若找不到就用如下命令重置:
docker exec -it rustdesk-rustdesk-1 sh
./apimain reset-admin-pwd 新密码
- 配置客户端
ID服务器及中继服务器都直接填写vps地址(若修改了默认端口则需要加上端口),注意API服务器格式与上面有所不同。
KEY用以下命令查看:
cat /data/rustdesk/server/id_ed25519.pub
注意是vps用户名(一般是root)前面的所有字符。
可以登录账户(用户名及密码见上,注意密码与KEY不同),这样就能保存和显示已连接过的设备了。
至止,自建服务器已完全可以正常连接使用。
高级使用
直接用IP访问API会有风险,更注重安全的用户推荐域名https访问,这就需要设置反向代理。
如果已安装了1Panel或宝塔面板,可以直接在创建的网站中添加反向代理,不需要以下步骤。
- 安装Nginx
sudo apt install nginx
- 编辑配置
nano /etc/nginx/sites-available/default
清空其中原有内容。将已绑定 IP的域名替换以下“你的域名”,然后复制粘贴到以上文件中
server {
listen 80; # 若是IPv6则替换为:listen [::]:80;
server_name 你的域名; # 将此处替换为你的实际域名
if ($host != "你的域名") {
return 444;
}
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header Referrer-Policy no-referrer-when-downgrade;
add_header Content-Security-Policy "default-src 'self'";
proxy_connect_timeout 10s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
location / {
proxy_pass http://127.0.0.1:21114; # 若是IPv6则替换为:http://[::1]:21114;
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;
}
}
- 安装申请证书插件
sudo apt install certbot python3-certbot-nginx -y
申请过程中要输入一个邮箱,输入两次y。
- 申请证书
sudo certbot --nginx -d 你的域名
- 重启Nginx
sudo nginx -t && sudo systemctl reload nginx
至此就可以通过域名访问API地址了,客户端中ID服务器与中继服务器可以只填写域名就能实现连接。
- 进一步加强安全性
修改原来的docker-compose.yml以下两处:
禁止IP访问:21114:21114改为:“127.0.0.1:21114:21114”
登录账户才能连接:MUST_LOGIN=N改为:MUST_LOGIN=N
完整配置如下:
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- "127.0.0.1:21114:21114" #若是IPv6则改为"[::1]:21114:21114"
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=你的IP:21117
- ENCRYPTED_ONLY=1
- MUST_LOGIN=Y
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=你的IP:21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=你的IP:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://你的IP:21114
- RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
- RUSTDESK_API_JWT_KEY=xxxxxx # 随意输入字符即可
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
修改并保存后重启容器:
cd /data/rustdesk
docker compose down
docker compose up -d
至此,RustDesk自建服务器的所有步骤全部完成,可以安心畅享远程控制的一切功能了。
配置导出与导入
设置好客户端网络后,注意右上角的两个图标,一个是导出服务器配置,一个是导入服务器配置,可以很方便地在各个客户端间导入使用。
另外,Windows客户端也可以将配置写入文件名,打开后即可直接使用,不需要再另外设置。格式如下:
rustdesk-host=你的服务器IP或域名,key=你的key.exe
手机安装RustDesk客户端问题
有些手机,比如小米/红米,会禁止安装RustDesk,可以通过以下方式解决:
- 旧版的小米/红米系统关闭安全守护和安全监控,并且打开飞行模式就能安装。
- 新版小米/红米系统管得更严,需要卸载“应用包管理组件”的更新,然后再关闭安全守护和安全监控,打开飞行模式安装。
- 最新版的小米/红米系统据说“应用包管理组件”已无法直接检索到,想要卸载更新需要先点击安装任意安装包,然后切后台,看到安装的窗口,这个窗口的名称就叫应用包管理组件。长按窗口进入应用设置,下方卸载更新、清除数据。然后如上关闭安全守护和安全监控,打开飞行模式安装。