使用Systemctl运行Rustdesk服务端

下载服务端

首先在
https://github.com/rustdesk/rustdesk-server/releases
下载最新版的 rustdesk-server-linux-amd64.zip
再FTP上传到自己的服务器地址,或者直接使用wget也可以

1
2
3
4
5
6
## 使用wget下载1.1.12版本
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-linux-amd64.zip
## unzip解压
unzip rustdesk-server-linux-amd64.zip
## 重命名解压后的文件(可选)
mv amd64 rustdesk

配置文件

我把程序文件放在 “/rustdesk”下了,注意根据自己的位置修改

/etc/systemd/system/路径下创建自启动service文件
cd /etc/systemd/system/

在文件中添加以下内容(注意修改脚本文件所在路径),编辑完后保存退出

运行的两个文件是干嘛的?

  • hbbs: RustDesk的ID服务,用于分配和注册ID;
  • hbbr: RustDesk的中继服务,如果直连远程不行,会使用hbbr进行流量中继。

hbbs.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=hbbs
After=network.target syslog.target ##在网络和系统日志服务可用后,服务才会启动
Wants = network.target

[Service]
Type=simple
User=root
Restart=on-failure ##程序崩溃自动重启,服务端会莫名崩溃,加上稳定一些
RestartSec=5s
WorkingDirectory=/rustdesk ##这里修改成你的位置
ExecStart=/rustdesk/hbbs -k _ ##-k _ 是强制加密,新版好像改了参数
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target

hbbr.service

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

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
WorkingDirectory=/rustdesk
ExecStart=/rustdesk/hbbr -k _
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target

使用systemctl命令重载配置
systemctl daemon-reload

运行程序

1
2
systemctl start hbbr.service
systemctl start hbbs.service

设置开机自动运行

1
2
systemctl enable hbbs.service
systemctl enable hbbr.service

检验程序是否启动,如果看到进程中有hbbs和hbbr进程则代表启动成功
ps -ef | grep hbb

也可用systemctl status查看运行状态
systemctl status hbbs

Systemctl其他命令
查看当前系统中所有的服务列表,并找到需要关闭的服务:
systemctl list-unit-files --type=service
停止需要关闭的服务:
systemctl stop [service_name].service
禁止服务开机自启:
systemctl disable [service_name].service

关于端口

官方文档

默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。其中21115是hbbs用作NAT类型测试,21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务,21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。

  • TCP(21115, 21116, 21117, 21118, 21119)
  • UDP(21116)

开始使用

在RustDesk设置的网络中,ID和中继服务器都填上服务器的IP,如果开启了加密,key的值在服务端运行后,程序文件夹(/rustdesk)下面会有 .pub 文件,key就是 .pub 文件里面的值

参考文章

https://www.mintimate.cn/2023/08/27/guideToHostRustDesk/
https://blog.csdn.net/ZRongZH/article/details/131210221