Rustdesk Server安装与使用

安装Rustdesk Server

  1. 在服务器输入lscpuuname -m查看CPU构架

    1
    2
    uname -m
    # x86_64
  2. 比如我是x86_64,随后在rustdesk-server/releases找到相应的版本则下载rustdesk-server-linux-amd64.zip

"x86_64"和"amd64"实际上是同一种CPU架构的两种不同称呼,都指的是64位的x86处理器架构。

这种架构最早由AMD公司引入,因此有时被称为"AMD64",但后来也被Intel和其他制造商采纳。

1
wget --no-check-certificate https://github.com/rustdesk/rustdesk-server/releases/download/1.1.10-3/rustdesk-server-linux-amd64.zip
  1. 解压文件,进入到解压后的目录amd64

    1
    unzip rustdesk-server-linux-amd64.zip
  2. 尝试运行hbbs

    1
    ./hbbs

    会输出一些日志,随后ctrl+c关掉即可

  3. 尝试运行hbbr

    1
    ./hbbs

    会输出一些日志,随后ctrl+c关掉即可

随后,在目录中,有个id_ed25519.pub的pub文件,查看id_ed25519.pub文件,里面是密钥

1
cat id_ed25519.pub

将密钥保存,后续会用上

至此,安装与测试RustDesk Server就结束了


后台运行与管理

为了更好的管理RustDesk Server,我们使用pm2来进行管理

PM2是一个流行的Node.js应用程序的进程管理器,提供了一系列强大的功能来管理和维护应用程序

  1. 安装pm2
1
2
sudo apt install npm
sudo npm install -g pm2
  1. 用pm2启动RustDesk Server
1
2
pm2 start hbbs -- -r 自己的服务器IP地址 -k _
pm2 start hbbr

参数解析

  • – 中间的这两个-一定要添加,这是pm2的参数传输结构

  • -r Relay(中继)服务器地址(和ID服务器可以是同一个,ID服务器就是正在将RustDesk Server部署到的服务器),这个参数不写也可以

  • -k _:必须用上面拿到的密钥才能访问

  1. 最后,要打开防火墙端口

返回控制台,打开防火墙-添加规则,以下端口全部开放:

1
21115、21116(TCP/UDP)、21117、21118、21119

RustDesk 客户端安装与使用

现在,我使用一台Linux上安装RustDesk:

同理,先用lscpuunmae -m查看cpu架构,再下载对应版本,这里用x86_64举例

1
2
3
4
# 下载最新版本的RustDesk Debian客户端
wget https://github.com/rustdesk/rustdesk/releases/download/1.2.3-1/rustdesk-1.2.3-x86_64.deb
# 使用dpkg进行安装
sudo dpkg -i rustdesk-1.2.3-x86_64.deb

随后打开rustdesk,在设置中填写

  • ID server: 写ID服务器IP
  • Relay server: 写Relay服务器IP
  • API server: 空着
  • Key: 写密钥

如果命令用的是pm2 start hbbs -- -r 自己的服务器IP地址,就要写Relay服务器

如果命令用的是pm2 start hbbs,Relay server可以空着


附录:PM2管理命令

要管理和控制使用PM2启动的进程,你可以使用PM2提供的一系列命令行工具。下面是一些常用命令,包括如何查看正在运行的进程列表和如何停止(杀掉)进程。

查看PM2管理的进程列表

要查看PM2管理的所有进程及其状态,你可以使用:

1
pm2 list

或者,为了获取更详细的信息,包括每个进程的CPU和内存使用情况,可以使用:

1
pm2 status

这些命令会显示一个表格,列出所有由PM2管理的进程的状态信息,如进程ID(PID)、名称、状态、CPU和内存使用情况等。

停止进程

如果你需要停止一个由PM2管理的进程,可以使用pm2 stop命令,后面跟上进程的名称或ID。例如,如果你的进程名称为rustdesk-server,你可以运行:

1
pm2 stop rustdesk-server

如果你知道进程的ID,假设是0,你也可以使用:

1
pm2 stop 0

重启进程

如果你需要重启一个进程,可以使用restart命令,这对于应用更新后重新加载服务特别有用:

1
pm2 restart rustdesk-server

删除进程

停止进程后,它仍然会在PM2的列表中显示,但状态会变为已停止。如果你想从PM2的列表中完全移除这个进程,可以使用delete命令,如:

1
pm2 delete rustdesk-server

或者使用进程的ID:

1
pm2 delete 0

查看日志

了解如何查看PM2管理的应用的日志也很重要,特别是在调试时。使用下面的命令可以实时查看日志:

1
pm2 logs

如果你只想查看特定进程的日志,可以加上进程的名称或ID:

1
pm2 logs rustdesk-server

PM2的这些命令提供了强大的进程管理功能,使得运行在服务器上的应用更加稳定和可靠。


使用Systemctl运行

我们需要创建两个Server,首先是hbbs:

vim /usr/lib/systemd/system/RustDeskHbbs.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=RustDesk Hbbs
After=network.target

[Service]
User=mintimate
Type=simple
# 修改目录
WorkingDirectory=/home/mintimate/myApplication/RustDesk
# 修改路径
ExecStart=/home/mintimate/myApplication/RustDesk/hbbs
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target

之后是hbbr:

vim /usr/lib/systemd/system/RustDeskHbbr.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=RustDesk Hbbr
After=network.target

[Service]
User=mintimate
Type=simple
# 修改目录
WorkingDirectory=/home/mintimate/myApplication/RustDesk
# 修改路径
ExecStart=/home/mintimate/myApplication/RustDesk/hbbr
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target

随后,让其自启动

1
2
systemctl enable RustDeskHbbs.service
systemctl enable RustDeskHbbr.service

让这两个服务启动

1
2
systemctl start RustDeskHbbs.service
systemctl start RustDeskHbbr.service

查看运行状态

1
2
systemctl status RustDeskHbbs.service
systemctl status RustDeskHbbr.service