如何自建服务器使用RustDesk¶
链接¶
-
RustDesk
一款免费开源的远程桌面软件,支持自建服务器。
什么是RustDesk¶
RustDesk是一款 免费开源 的远程桌面软件。它跨平台,支持Windows、MacOS和Linux。它非常容易使用,界面友好。其最大的特点是 支持自建服务器 。您可以构建自己的服务器并使用它来连接远程计算机。这对于那些想要控制远程计算机但又不想使用公共服务器的人来说非常有用。
客户端安装和使用¶
本文的重点是如何构建自己的服务器并使用它来连接远程计算机。客户端下载请参考github链接,安装和使用请参考官方指南。
开始之前¶
假定您有一台运行Linux的云服务器。如果您没有,请参考这篇文章。
本教程参考资料¶
教程开始¶
我们的教程从这里开始。
通过SSH连接到远程计算机¶
我使用MobaXterm通过SSH连接我的云服务器。您可以使用任何您喜欢的SSH客户端,例如Termius、PuTTY等。
为RustDesk创建一个目录¶
对于我的情况,我在根目录/
下创建了一个名为RUSTDESK-Sever
的目录。要做到这一点,请运行以下命令:
然后
然后进入到这个目录
下载RustDesk服务器¶
前往🌐 RustDesk Server 发布页面 选择合适的版本下载。我选择的是rustdesk-server-linux-amd64.zip
。
右键单击要下载的文件,然后选择复制链接地址
。然后运行以下语句:
我个人的例子:
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.9/rustdesk-server-linux-amd64fb.zip
然后我们需要解压缩这个文件,如果你没有安装unzip,请先安装unzip:
然后运行以下语句:
解压之后,你会看到一个名为amd64
的文件夹。为了方便,我们给它改个名字:
进入到这个文件夹:
使用Screen运行RustDesk服务器¶
什么是Screen¶
Screen是一个可以在远程计算机上运行的终端复用程序。它允许您在远程计算机上运行多个终端会话,并在断开SSH连接后继续运行这些会话。这对于在远程计算机上运行长时间运行的程序非常有用。
安装Screen¶
使用tree查看文件夹内容和结构¶
首先,我们需要安装tree:
然后,我们可以使用tree查看文件夹内容和结构:
然后你会看到这样的结果:
Info
hbbr
是中继服务器hbbs
是信令服务器rustdesk-utils
是RustDesk服务器的工具
运行Screen以及RustDesk服务器¶
现在,我们可以运行两个Screen会话,一个用于中继服务器,另一个用于信令服务器。
然后,我们使用以下命令运行中继服务器:
然后我们可以看到一些输出,意味着中继服务器正在运行。然后按下Ctrl+A
,然后按下D
,以断开Screen会话。
然后,我们可以运行另一个Screen会话,用于信令服务器。
然后,我们使用以下命令运行注册服务器:
然后看,我们可以看到一些输出,意味着信令服务器正在运行。然后按下Ctrl+A
,然后按下D
,以断开Screen会话。
我们可以查看Screen会话的状态:
然后你会看到类似这样的结果:
复制公钥用于客户端配置¶
现在我们可以查看内容,使用tree
:
然后你会看到类似这样的结果:
.
├── RustDesk
│ ├── db_v2.sqlite3
│ ├── db_v2.sqlite3-shm
│ ├── db_v2.sqlite3-wal
│ ├── hbbr
│ ├── hbbs
│ ├── id_ed25519
│ ├── id_ed25519.pub
│ └── rustdesk-utils
└── rustdesk-server-linux-amd64.zip
id_ed25519.pub
。我们可以使用以下命令查看公钥文件的内容: 或者 复制公钥文件的内容,我们将在客户端配置中使用它。
防火墙配置¶
在你的云服务提供商的控制面板中,打开防火墙配置,放行以下端口: - 21115 for TCP - 21116 for TCP & UDP - 21117 for TCP - 21118 for TCP - 21119 for TCP
必要的话,还要在你的云服务器操作系统中放行以上端口。
客户端配置¶
需要准备的信息: - 服务器IP地址 - 服务器公钥
假设你已经安装好了RustDesk客户端。如果没有,请参考官方文档。
打开RustDesk客户端,在左侧电脑ID一项最右边的三个点,点击它,选择网络设置。
- ID服务器地址:<你的服务器IP>
- 中继服务器地址:<你的服务器IP>
- API服务器地址:可以留空
- 秘钥:粘贴你的服务器公钥
以上的过程在主控端和被控端都要进行。
在主控端,输入被控端的ID,点击连接,然后输入被控端的密码,点击确定,就可以连接到被控端了。
到目前位置,我们已经实现了自建服务器使用RustDesk的目标。但是目前的配置还不够优雅,我们还需要做一些额外的配置。
将运行RustDesk服务器配置为系统服务¶
我们这样做的原因在于,我们不想每次重启服务器时都要手动运行RustDesk服务器。
有两种方式可以实现这一目标: 1. 使用pm2 2. 使用systemd
使用pm2¶
我个人没有使用pm2,但是如果你想使用pm2,可以参考以下步骤:
首先安装nodejs 和 npm:
然后安装pm2:
然后运行以下命令启动RustDesk服务器:
然后运行以下命令将pm2配置为系统服务:
使用systemd¶
我个人使用systemd,如果你想使用systemd,可以参考以下步骤:
hbbs
首先,我们需要创建一个名为RustDeskHbbs.service
的文件,位于/usr/lib/systemd/system/
目录下:
然后把以下信息复制到这个文件中:
Note
<...>
中的内容请根据你个人情况进行修改。
[Unit]
Description=RustDesk Hbbs
After=network.target
[Service]
User=<your user name>
Type=simple
WorkingDirectory=<directory where you put RustDesk Server>
ExecStart=<directory where you put RustDesk Server>/hbbs
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
hbbr
首先,我们需要创建一个名为RustDeskHbbr.service
的文件,位于/usr/lib/systemd/system/
目录下:
然后把以下信息复制到这个文件中:
Note
<...>
中的内容请根据你个人情况进行修改。
[Unit]
Description=RustDesk Hbbr
After=network.target
[Service]
User=<your user name>
Type=simple
WorkingDirectory=<directory where you put RustDesk Server>
ExecStart=<directory where you put RustDesk Server>/hbbr
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
然后运行以下命令启动RustDesk服务器:
或者重载systemd配置:
启用强制加密¶
hbbs 重新打开
/usr/lib/systemd/system/RustDeskHbbs.service
,修改以下内容ExecStart所在行:
[Unit]
Description=RustDesk Hbbs
After=network.target
[Service]
User=<your user name>
Type=simple
WorkingDirectory=<directory where you put RustDesk Server>
ExecStart=<directory where you put RustDesk Server>/hbbs -k _
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
hbbr
重新打开/usr/lib/systemd/system/RustDeskHbbr.service
,修改以下内容ExecStart所在行:
[Unit]
Description=RustDesk Hbbr
After=network.target
[Service]
User=<your user name>
Type=simple
WorkingDirectory=<directory where you put RustDesk Server>
ExecStart=<directory where you put RustDesk Server>/hbbr -k _
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
额外配置¶
有些时候,你需要给予Rustdesk权限来使用某些功能。 在Mac上,需要启用Rustdesk的accessibility权限。 在Windows上,要安装特定版本的Rustdesk,而不是便携版。 这两种情况,Rustdesk都会在界面左侧部分给予提示,按照提示操作即可。
到此结束。