在 TeamViewer频繁提示商用、Todesk强制验证手机号的今天,远程桌面曾经的广泛选择已剩不多。似乎任何软件国产化后,都逃不开实名制的困扰。那么为什么不用开源软件?或许Rustdesk就是其中值得研究的一个。
RustDesk是一款开箱即用的开源免费的全平台远程桌面软件,包括MacOS、Windows和Android的客户端支持。你可以选择使用官方的注册/中继服务器,也可以自建服务器,甚至基于官方代码开发自己的版本。
如何部署?
选择省心省力的 DockerCompose 部署方式:
- 安装 Docker
由于每个系统所需要执行的命令都不一样,请看官方文档地址
Debian安装命令
sudo apt update
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin- 安装 Docker Compose
需要到 GitHub 上下载最新的二进制文件
服务器的话一般选择带有linux x86_64字样的发行版软件 ( wget )
# 修改文件名称并移动到bin目录下
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 检查是否安装成功
docker-compose -v
# 输出:Docker Compose version v2.6.0 即表示安装成功- 创建数据存放目录与docker-compose描述文件
首先创建一个全新的目录,专门用于存放rustdesk的数据文件。
这里假设我们创建了一个名为rustdesk的文件夹,专门存放该容器的数据文件。
mkdir rustdesk
cd rustdesk
然后使用vim创建并填写docker-compose描述文件。
vim docker-compose.yml向这个文件中写入如下文本
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 remote.hash070.top:21117 -k _
volumes:
- ./hbbs:/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
volumes:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
注意第16行,改成你自己服务器的域名或IP然后在防火墙开放21115到21119这4个端口
ufw allow 22/tcp
ufw allow 21115:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
sudo ufw enable- 上线Docker容器
当你将compose描述文件正确填写并保存后,在当前文件夹下,通过执行下面这行命令就可以上线你的容器了。
docker-compose up -d
附 docker-compose常用命令:
# 上线容器
docker-compose up -d
# 停止容器
docker-compose stop
# 启动容器
docker-compose start
# 重启容器
docker-compose restart
# 下线(删除)容器
docker-compose down
# 删除容器不会导致你的数据丢失,你的数据库保存在了当前目录下的data文件夹内,请妥善保管该目录
查看服务器公钥在上面的docker-compose文件中,已经声明开启了强制密钥加密认证,所有需要连接的设备都需要提供正确的公钥才能正常连接到服务器。
下面是docker-compose文件所在文件夹的目录结构
├── docker-compose.yml
├── hbbr
| ├── id_ed25519
| └── id_ed25519.pub
└── hbbs
├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── id_ed25519
└── id_ed25519.pub容器启动后会自动生成公钥和私钥,我们需要拷贝hbbs目录下的id_ed25519.pub文件里面的字符串,这个就是我们连接到服务器的凭证。
如需更换密钥和公钥,只需将hbbs文件夹下面的id_ed25519.pub和id_ed25519两个文件删掉然后重启容器就可以自动重新生成。
- 配置客户端
在软件界面找到设置->ID/中继服务器
在ID服务器一栏填写上你在上面的配置文件里写入的服务器域名
在Key一栏写上你的服务器密钥
- 顺便给服务器开启 TCP BBR 加速
参考
更多使用体验待续,至少满足了全平台使用,延迟较低、画质还行,即开即用的痛点。。