一台云服务器Ubuntu篇:9、RustDesk Server OSS deb安装与配置

下载deb包安装RustDesk Server

安装

Bash
#wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-hbbr_1.1.14_amd64.deb
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-hbbs_1.1.14_amd64.deb
sudo apt install ./rustdesk-server-hbbr_1.1.14_amd64.deb ./rustdesk-server-hbbs_1.1.14_amd64.deb
#Created symlink /etc/systemd/system/multi-user.target.wants/rustdesk-hbbs.service → /usr/lib/systemd/system/rustdesk-hbbs.service.
#Created symlink /etc/systemd/system/multi-user.target.wants/rustdesk-hbbr.service → /usr/lib/systemd/system/rustdesk-hbbr.service.
systemctl list-units --type=service # 查看所有服务
sudo systemctl status rustdesk-hbbr.service
sudo systemctl status rustdesk-hbbs.service

使用的默认端口

和Windows版本一样,需要在Ubuntu防火墙、云服务器防火墙上,开放端口:21115/tcp、21116/tcp、21116/udp、21117/tcp

进程协议端口描述
hbbsTCP21114用于 Web 控制台,仅在Pro版本中可用。
hbbsTCP21115用于 NAT 类型测试。
hbbsTCP/UDP21116UDP用于 ID 注册和心跳服务,TCP用于打洞和连接服务。
hbbsTCP21118用于支持 Web 客户端。
hbbrTCP21117用于 Relay 服务。
hbbrTCP21119用于支持 Web 客户端。

改用普通用户运行

查看使用哪个账号运行进程

Bash
ps -Ao user,pid,ppid,%mem,rss,%cpu,cmd|grep -E 'hbbr|hbbs|PID' # 以root身份运行进行

查找相关路径

Bash
$ sudo find / -type d -name "*rustdesk*"
/usr/share/doc/rustdesk-server-hbbs
/usr/share/doc/rustdesk-server-hbbr
/var/log/rustdesk-server
/var/lib/rustdesk-server

$ sudo find / -type f -name "*hbbr*"
/usr/bin/hbbr
/usr/lib/systemd/system/rustdesk-hbbr.service
/var/log/rustdesk-server/hbbr.log
/var/log/rustdesk-server/hbbr.error

$ sudo find / -type f -name "*hbbs*"
/usr/bin/hbbs
/usr/lib/systemd/system/rustdesk-hbbs.service
/var/log/rustdesk-server/hbbs.error
/var/log/rustdesk-server/hbbs.log

创建普通用户

Bash
sudo systemctl stop rustdesk-hbbr.service
sudo systemctl stop rustdesk-hbbs.service

uname=rustdesk
sudo useradd $uname
gname=$(id -gn ${uname})
sudo usermod -L -c 'RustDesk Server OSS' -s /usr/sbin/nologin $uname
sudo chown ${uname}:${gname} -R /var/log/rustdesk-server/
sudo chown ${uname}:${gname} -R /var/lib/rustdesk-server/

修改配置文件
修改两个文件中 User=Group= 行,在=后面添加刚才新增的用户名,不要有空格。

Bash
sudo vim /usr/lib/systemd/system/rustdesk-hbbs.service # ID服务的配置文件
sudo vim /usr/lib/systemd/system/rustdesk-hbbr.service # 中继服务的配置文件
#User=rustdesk
#Group=rustdesk

不能立即启动服务,会报错提示:Warning: The unit file, source configuration file or drop-ins of rustdesk-hbbr.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Bash
sudo systemctl daemon-reload
sudo systemctl start rustdesk-hbbr.service
sudo systemctl start rustdesk-hbbs.service

确认进程用户:

Bash
$ ps -Ao user,pid,ppid,%mem,rss,%cpu,cmd|grep -E 'hbbr|hbbs|PID' # 以root身份运行进行
USER         PID    PPID %MEM   RSS %CPU CMD
rustdesk   47821       1  0.8  8140  0.0 /usr/bin/hbbs
rustdesk   47891       1  0.2  2176  0.0 /usr/bin/hbbr

调整配置

查看可用参数:(和Windows版本一样

Bash
/usr/bin/hbbs --help
/usr/bin/hbbr --help

使用到的配置文件

Bash
sudo cat /usr/lib/systemd/system/rustdesk-hbbs.service # ID服务的配置文件
sudo cat /usr/lib/systemd/system/rustdesk-hbbr.service # 中继服务的配置文件
# 导入现有pub Key
sudo cat /var/lib/rustdesk-server/id_ed25519.pub # 查看 pub Key
sudo cat /var/lib/rustdesk-server/id_ed25519 # 查看 Key

开始前,先关闭服务:

Bash
sudo systemctl stop rustdesk-hbbr.service && sudo systemctl stop rustdesk-hbbs.service

hbbr.service(中继服务器)

修改ExecStart=行,增加启动参数-k

INI
[Unit]
Description=Rustdesk Relay Server (hbbr)

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/opt/rustdesk/hbbr -k pub_key_text
WorkingDirectory=/var/lib/rustdesk-server/
User=rustdesk
Group=rustdesk
Restart=always
StandardOutput=append:/var/log/rustdesk/hbbr.log
StandardError=append:/var/log/rustdesk/hbbr.error
# Restart service after 10 seconds if node service crashes
RestartSec=10

[Install]
WantedBy=multi-user.target

hbbs.service(ID 服务器)

修改ExecStart=行,增加启动参数-r-k

INI
[Unit]
Description=Rustdesk Signal Server (hbbs)

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/opt/rustdesk/hbbs -r your_server_ip_or_name_where_is_running_hhbr -k pub_key_text
WorkingDirectory=/var/lib/rustdesk-server/
User=rustdesk
Group=rustdesk
Restart=always
StandardOutput=append:/var/log/rustdesk/hbbs.log
StandardError=append:/var/log/rustdesk/hbbs.error
# Restart service after 10 seconds if node service crashes
RestartSec=10

[Install]
WantedBy=multi-user.target

配置生效

Bash
sudo vim /usr/lib/systemd/system/rustdesk-hbbs.service # ID服务的配置文件
sudo vim /usr/lib/systemd/system/rustdesk-hbbr.service # 中继服务的配置文件

sudo systemctl daemon-reload
sudo systemctl start rustdesk-hbbr.service && sudo systemctl start rustdesk-hbbs.service
netstat -ano|grep -E ':21115|:21116|:21117'
sudo lsof -i:21116

ps -Ao user,pid,ppid,%mem,rss,%cpu,cmd|grep -E 'hbbr|hbbs|PID'
USER         PID    PPID %MEM   RSS %CPU CMD
rustdesk   49636       1  0.2  2244  0.0 /usr/bin/hbbr -k pub_key_text
rustdesk   49645       1  0.8  8128  0.0 /usr/bin/hbbs -r rd.t725.cn -k pub_key_text

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注