之前一直用teamviewer,但teamviewer限制越来越多,尤其换电脑后直接用不了了,介绍一个开源解决方案RustDesk,可以自己搭建一套远程桌面控制服务,服务端部署在自己的私有云上,可以再也不受各种限制,且部署使用方式十分简单。

RustDesk有三部分组成,中继服务器(hbbr)、ID注册服务器(hbbs)与客户端(winlinuxmac),其中hbbrhbbs需要部署在服务器上,客户端提供控制与被控服务。

部署hbbrhbbs

服务器环境为Ubuntu20

中继服务器与ID服务器的部署非常简单,都提供了编译好的二进制文件,下载下来直接运行即可,可以直接在github上下载:

下载后,直接解压,将hbbrhbbs上传到服务器,直接运行:

chmod +x hbbr
chmod +x hbbs

# 使用pm2做进程管理
pm2 start hbbs -- -r <hbbr-server-ip:port>
pm2 start hbbr -- -p <port> # -p 可缺省,默认21117

其中<hbbr-server-ip:port>是你中继服务(hbbr)的公网ip与端口,默认情况下是21117-r也可以缺省,目的是为了可以在客户端不用填写中继服务器地址,只填写ID Server即可,是为方便考虑,若不加-r参数,则配置客户端时中继服务器地址也必须配置。

如果服务器有安全组设置或防火墙,要把相应的端口开放,需开放端口如下:

  • 21115: TCP
  • 21116: TCPUDP
  • 21117: 默认的中继服务(hbbr)端口,若设置了其他的端口,相应的也需要开放。TCP
  • 21118: TCP
  • 21119: TCP

客户端配置

直接在github下载客户端:

客户端 · GitHub

下载后直接运行,点击ID旁的菜单:

Snipaste20220725113814png

点击 ID/中继服务器:

Snipaste20220725113949png

ID服务器填写服务的ip地址,注意只需填写ip即可,不用填写端口,中继服务器(若启动hbbs时指定了-r参数,否则也需要填写)和API服务器都可以空着,Key填写密钥,密钥在hbbs运行目录下的id_ed25519.pub中,hbbs第一次启动时会自动生成,直接cat查看下复制过来就行。

点击确定,客户端状态栏显示就绪后,说明配置成功了,在控制端与被控端都安装客户端且配制好,使用方式就与teamviewer一样了,直接在控制端中输入被控端的ID,点击连接输入密码,即可连接:

Snipaste20220725114704png

这里查看官方文档.