宝塔Docker参考文档:https://www.bt.cn/bbs/thread-95674-1-1.html

RustDesk自建服务器参考文档:https://rustdesk.com/docs/zh-cn/self-host/install/

一、准备工作

!!请先完成宝塔面板的安装,然后再继续观看下文。

特别提示,Windows下的宝塔面板暂未支持Docker,所以本文只针对 Linux。

二、拉取rustdesk/rustdesk-server镜像

打开宝塔面板的Docker,将 rustdesk/rustdesk-server 拉取下来。

Tips:宝塔面板的Docker插件安装之后,可以直接在终端中执行 docker 命令;因此,上面的操作等同于:docker image pull rustdesk/rustdesk-server命令。

拉取成功后,就能得到下图的镜像

宝塔Docker参考文档:的容器端口添加似乎并不能进行 21116 -> 21116/udp 的操作,因此,我们需要在终端下执行 docker 命令,请继续按照下文进行。

三、运行RustDesk服务端(hhbs/hhbr)

RustDesk自建服务器参考文档: 中对于Docker的启动方式有以下两条命令。

原命令:

sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr

这里有几个坑点:

1、pwd 代表的引用当前目录。

2、–net=host 造成的网络错误,(官方文档也强调将 –net=host 删除)。

3、relay-server-ip[:port] 的含义,表示:当前服务器的外网IP:指定的端口号;端口号可以省略。

因此,我们需要修改命令:

sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td rustdesk/rustdesk-server hbbs -r 当前服务器的外网IP:指定的端口号
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td rustdesk/rustdesk-server hbbr

对于 pwd 我们不予修改,只需要将 –net=host 删除即可。

然后,我们通过终端命令行工具连接到我们的远程服务器,本文使用的是 Xshell 7 个人免费版。

创建一个存放hhbs/hhbr运行之后,生成相关文件的文件夹,这里就直接命名为 rustdesk_server 了;接着cd rustdesk_server 进入 rustdesk_server 目录。

运行修改后的命令:

出现类似上图的提示则表示成功了;然后可以刷新宝塔面板查看运行结果,

四、配置RustDesk客户端

最后,就是配置RustDesk客户端了。

我们打开,RustDesk客户端软件,找到如下图的操作按钮。

输入ID服务器(也就是我们的服务器IP)即可,中继服务器可以不填,如果填,与IP服务器保持一致即可。

然后点击确定,通过如下图的提示,能看到 就绪 二字,则表示成功!

Tips:一旦采用自建服务器进行远程控制,所有客户端都需要进行 ID/中继器服务器 的配置;否则,将无法正常连接。

举个例子:你需要操作别人电脑,你的客户端配置了ID/中继器服务器 ,而别人的电脑使用的是官方默认服务器,则无法进行远程连接,反之亦然。

五、Key的设置

正如官方所述,默认的 hhbs/hhbr 命令执行后,虽然有key文件的生成。

然而并未强制所有客户端对key的使用;因此,你可以通过以下命令对所有客户端强制使用 key。

sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td rustdesk/rustdesk-server hbbs -r 当前服务器的外网IP:指定的端口号 -k 指定的key
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td rustdesk/rustdesk-server hbbr -k 指定的key

我们将宝塔面板的 docker 容器任务删除(hbbs/hbbr都删除掉,下面只放了一张图),然后强制指定 key 为 abc123,重新执行上述命令

切回远程终端命令行,将刚才的文件夹清空rm -rf *

执行上述命令

这时候,id_ed25519、id_ed25519.pub文件却没有再次生成,可能是强制指定key的缘故

这时候再连接服务器就需要加上我们刚刚设置的公共key:abc123了。

Tips:被控制端可以不用填写 key ,控制端则必须填写 key

至此,关于RustDesk自建服务器的搭建到此结束!