阿里云服务器5年150元之alpine安装rustdesk

发布于 2025年08月31日

配置alpine软件源

配置方法
a. 编辑 /etc/apk/repositories
b. 将里面 dl-cdn.alpinelinux.org 的 改成 mirrors.aliyun.com ; 保存退出即可

vi /etc/apk/repositories
localhost:~# cat /etc/apk/repositories
https://mirrors.aliyun.com/alpine/v3.21/main
https://mirrors.aliyun.com/alpine/v3.21/community
#https://dl-cdn.alpinelinux.org/alpine/v3.21/main
#https://dl-cdn.alpinelinux.org/alpine/v3.21/community
#https://dl-cdn.alpinelinux.org/alpine/v3.21/testing
localhost:~# 

RustDesk 简介

RustDesk 是一个功能完整的开源远程控制替代方案,支持自托管和安全性,配置简单。您完全控制自己的数据,无需担心安全问题。

官网文档:RustDesk文档

github地址:

rustdesk/rustdesk: An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

rustdesk/rustdesk-server: RustDesk Server Program

一、安装RustDesk

mkdir -p /opt/rustdesk
cd /opt/rustdesk
apk add wget 
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip
#简单使用,以下是前台运行
chmod +x ./hbbs
chmod +x ./hbbr
#启动hbbs、hbbr
./hbbs -r 8.145.54.194 -k key
#
./hbbr

二、配置开机自启动和保持后台运行

你可以使用以下方法来设置开机自启动:

1. 使用 OpenRC 服务 (推荐)

这是 Alpine Linux 官方推荐和管理服务的方式。

创建自定义服务脚本

1.​1创建服务文件​:在 /etc/init.d/目录下创建一个新的服务脚本。例如,为你的服务命名为 my_service

vi /etc/init.d/hbbs
vi /etc/init.d/hbbr

2.编写服务脚本内容​:文件内容基本结构如下:

hbbs脚本

#!/sbin/openrc-run

name="hbbs"
command_user="root"
command="/opt/rustdesk/hbbs"
#-r指定服务绑定的公网ip或域名
command_args="-r 8.145.54.194 -k key"
command_background="yes" # 如果程序需要在后台运行,使用此选项
pidfile="/run/${RC_SVCNAME}.pid"
# 考虑将 stdout 和 stderr 分开记录
stdout_log="/var/log/hbbs.out.log"
stderr_log="/var/log/hbbs.err.log"

depend() {
    need net
    after sshd
}

start_pre() {
    # 确保日志目录和文件存在并有正确权限
    checkpath --directory --mode 0755 /var/log
    checkpath --file --mode 0644 /var/log/hbbs.out.log /var/log/hbbs.err.log
}
#!/sbin/openrc-run
#hbbr脚本
name="hbbr"
command_user="root"
command="/opt/rustdesk/hbbr"
#command_args=""
command_background="yes" # 如果程序需要在后台运行,使用此选项
pidfile="/run/${RC_SVCNAME}.pid"
# 考虑将 stdout 和 stderr 分开记录
stdout_log="/var/log/hbbr.out.log"
stderr_log="/var/log/hbbr.err.log"

depend() {
    need net
    after sshd
}

start_pre() {
    # 确保日志目录和文件存在并有正确权限
    checkpath --directory --mode 0755 /var/log
    checkpath --file --mode 0644 /var/log/hbbr.out.log /var/log/hbbr.err.log
}
  • name: 服务的名称。

  • command: 要执行的可执行文件或脚本的完整路径

  • command_args: 传递给命令的参数(可选)。

  • command_background: 如果需要以守护进程方式运行,设置为 "yes"(可选)。

  • depend(): 定义服务的依赖关系,例如需要网络 (need net) 和在 sshd 之后启动 (after sshd)。

3.设置执行权限​:让脚本文件可执行。

chmod +x /etc/init.d/hbbs
chmod +x /etc/init.d/hbbr

#创建日志文件
touch /var/log/hbbs.log
touch /var/log/hbbr.log

1.4.让 OpenRC 识别新服务​:执行以下命令更新:

rc-update add hbbs default
rc-update add hbbr default

2.管理服务

#​启动服务​:
rc-service hbbs start
rc-service hbbr start
#停止服务
rc-service hbbs stop
rc-service hbbr stop

#​重启服务​:
 rc-service hbbs restart
 rc-service hbbr restart
#查看服务状态​
rc-service hbbs status
rc-service hbbr status

#启用服务开机自启
 rc-update add hbbs 
 rc-update add hbbr
#​禁用服务开机自启
rc-update del hbbs 
rc-update del hbbr

三、RustDesk 的使用

安全组放开UDP/21116、TCP/21115 、TCP/21116 、TCP/21117端口

#相关端口说明
确保在防火墙中打开这些端口:

hbbs:
21114 (TCP): 用于网页控制台,仅在 Pro 版本中可用。
21115 (TCP): 用于 NAT 类型测试。
21116 (TCP/UDP): 请注意 21116 应该同时为 TCP 和 UDP 启用。 21116/UDP 用于 ID 注册和心跳服务。21116/TCP 用于 TCP 打洞和连接服务。
21118 (TCP): 用于支持网页客户端。
hbbr:
21117 (TCP): 用于中继服务。
21119 (TCP): 用于支持网页客户端。
如果您不需要网页客户端支持,可以禁用相应的端口 21118、21119。

客户端使用指导查看这篇文章的8、9、10部分

rustdesk远程控制工具自建 - RongTech



评论