要在云服务器上运行这三个文件,不要直接用 cargo build 去手动构建(除非你是开发者),直接从 GitHub 下载编译好的二进制文件最省事。
在 Linux 云服务器(如 Ubuntu/CentOS)上,启动和停止的操作如下:
- 启动运行(后台持续运行)
如果你直接执行 ./hbbs,一旦你关掉 SSH 窗口,程序就退出了。为了让它一直运行,建议使用 nohup 命令。
在文件所在目录下执行以下两条命令:
启动 ID 服务器 (hbbs):
nohup ./hbbs > hbbs.log 2>&1 &
启动中继服务器 (hbbr):
nohup ./hbbr > hbbr.log 2>&1 &
参数解释:
nohup: 即使断开连接也不停止程序。
xxx.log: 把运行日志存到文件里,方便出问题时查看。
&: 让程序在后台运行。
- 查看是否运行成功
你可以输入以下命令查看进程:
ps -ef | grep hbb
Gemini 说
要在云服务器上运行这三个文件,不要直接用 cargo build 去手动构建(除非你是开发者),直接从 GitHub 下载编译好的二进制文件最省事。
在 Linux 云服务器(如 Ubuntu/CentOS)上,启动和停止的操作如下:
- 启动运行(后台持续运行)
如果你直接执行 ./hbbs,一旦你关掉 SSH 窗口,程序就退出了。为了让它一直运行,建议使用 nohup 命令。
在文件所在目录下执行以下两条命令:
启动 ID 服务器 (hbbs):
Bash
nohup ./hbbs > hbbs.log 2>&1 &
启动中继服务器 (hbbr):
Bash
nohup ./hbbr > hbbr.log 2>&1 &
参数解释:
nohup: 即使断开连接也不停止程序。
xxx.log: 把运行日志存到文件里,方便出问题时查看。
&: 让程序在后台运行。
- 查看是否运行成功
你可以输入以下命令查看进程:
Bash
ps -ef | grep hbb
如果看到 hbbs 和 hbbr 的名字,说明它们已经在欢快地工作了。
- 停止运行
当你需要关闭服务或者更新文件时,需要手动“杀死”这两个进程:
找到进程号 (PID):
执行 ps -ef | grep hbb,看到名字旁边的数字就是 PID。
结束进程:
killall hbbs
killall hbbr
关键细节提示:
获取 Key(用于手机端连接):
第一次运行 hbbs 后,你的目录下会自动生成一个名为 id_ed25519.pub 的文件。用 cat id_ed25519.pub 命令查看它,里面的字符串就是 Key。你需要把它填在手机 RustDesk 的“Key”一栏里,否则会连接失败。
执行权限:
如果提示“Permission denied”,需要先给文件加权限:
chmod +x hbbs hbbr
防火墙:
别忘了在你云服务器的后台(腾讯云/阿里云控制台)开放 21115-21119 的 TCP 端口,以及 21116 的 UDP 端口。
这确实是 RustDesk 官方文档(尤其是 GitHub 自述文件)里比较“坑”的地方。很多开发者默认用户知道如何配置防火墙,所以没把端口号写在显眼的位置,或者分散在不同的 Wiki 页面里。实际上,端口配置是自建服务器能否成功的唯一关键。如果你的云服务器(阿里云、腾讯云、华为云等)后台安全组没有手动放行这些端口,你的手机永远也连不上电脑。🔑 RustDesk 必须开放的 5 个端口请在你的云服务器控制台“防火墙”或“安全组”规则中,添加以下入站规则:端口号协议功能描述是否必选21115TCPhbbs 用来处理打洞(P2P)连接必选21116TCPhbbs 的主监听端口,负责分配 ID核心必选21116UDP负责心跳检测和打洞测试核心必选21117TCPhbbr 的中继端口,负责传输画面数据核心必选21118TCP用于网页端远程(Web Client)可选21119TCP用于网页端中继可选简单粗暴的做法: 在安全组里直接放行 TCP 21115-21119 以及 UDP 21116
现在的操作建议:
去云服务器后台: 登录你的阿里云/腾讯云网页后台,找到“安全组”,把上面表格里的端口都加上。
你在服务器上输入 ls 命令,看到那个 .pub 结尾的文件了吗
获取连接 Key: 在你服务器运行 hbbs 的那个文件夹里,输入下面这个命令获取 Key:
cat id_ed25519.pub
填入手机:
ID 服务器: 你的服务器公网IP(后面不需要加端口,默认就是 21116)。
Key: 把刚才 cat 出来的字符串复制进去。
配置好之后,尝试用手机连接一下。如果还是连不上,提示“Timeout(超时)”,那通常就是云服务器防火墙没开对,我可以帮你排查!
从你提供的截图来看,你的操作非常标准,服务已经成功运行并生成了密钥。
你的 Key 就是最后那一行 cat 命令输出的内容。具体如下:
🔑 你的 RustDesk Key
7wnED4dZcEXxNICBKoeUgllbhPTDxgulWm1iJkM4jTkg=
📲 接下来该怎么做?
现在你需要把这个 Key 填入你的手机 App 和 Win11 电脑客户端中。
- 在 Win11 电脑上配置:
打开电脑上的 RustDesk 客户端。
点击 “ID/中继服务器”(或者点击 ID 旁边的三个点 -> 网络)。
填写如下:
ID 服务器: 输入你云服务器的 公网 IP(就是你 SSH 登录用的那个 IP)。
中继服务器: 同样输入 公网 IP。
Key: 把上面那串 7wnED4dZ... 完整地粘贴进去。
点击确定,看到底部显示“就绪”即可。
- 在苹果手机上配置:
打开手机 RustDesk App。
进入 设置 (Settings) -> ID/中继服务器 (ID/Relay Server)。
按同样的方式填入你的 公网 IP 和 Key。
⚠️ 一个容易出错的小细节
在复制 Key 的时候,一定要注意不要漏掉最后的等号 =。
现在两端都配置好了吗?如果都显示“就绪 (Ready)”,你就可以尝试在手机上输入电脑的 ID 进行连接了!连接后记得测试一下你最关心的命令行“回车”操作是否顺畅。
注意:阿里云和宝塔上的端口都要放行