普通网友 2025-09-22 16:30 采纳率: 98.3%
浏览 1
已采纳

RustDesk自建服务账号无法登录如何排查?

RustDesk自建服务部署后,常见问题之一是客户端无法使用自建账号登录。可能原因包括:ID服务器地址未正确配置,导致认证请求仍发往官方服务器;或hbbs/hbbr服务未启动,导致ID注册与心跳通信失败;也可能是防火墙未开放21115-21119等关键端口。此外,若未在启动参数中正确设置`--api`和`--webkey`,会导致Web API无法响应登录请求。需检查服务日志确认运行状态,并验证客户端是否指向自建Api及Key服务器。
  • 写回答

1条回答 默认 最新

  • 薄荷白开水 2025-09-22 16:30
    关注

    一、RustDesk自建服务部署后客户端无法登录问题深度解析

    1. 问题现象与初步排查路径

    在完成RustDesk服务器(hbbs/hbbr)的自建部署后,用户常反馈无法使用本地注册账号登录客户端。典型表现为输入正确凭据后提示“认证失败”或“连接超时”。此时需首先确认是否已完全脱离官方服务器体系。

    • 检查客户端设置中的ID Server地址是否指向自建服务
    • 确认Api ServerKey Server字段填写为自建Web API地址
    • 验证客户端未勾选“Use official relay server”等默认选项

    2. 核心组件运行状态诊断

    hbbs(RustDesk ID & Relay Server)和 hbbr(RustDesk Bridge Server)是身份注册与通信的核心进程。若任一服务未正常启动,将导致ID无法注册或心跳中断。

    # 检查服务运行状态
    ps aux | grep hbbs
    ps aux | grep hbbr
    
    # 查看最近日志输出
    tail -f /var/log/rustdesk/hbbs.log
    tail -f /var/log/rustdesk/hbbr.log
    服务名默认端口功能描述依赖关系
    hbbs21115, 21116, 21117ID注册、NAT穿透、心跳维持必须先于hbbr启动
    hbbr21118, 21119消息中继、会话桥接依赖hbbs在线
    Web API21120 (HTTP)处理登录请求、Token签发需配置--api参数

    3. 启动参数配置关键点分析

    许多部署失败源于忽略关键启动参数。特别是--api--webkey,它们决定了API服务是否启用及密钥验证机制。

    # 正确示例:启用API并绑定域名
    ./hbbs -r 0.0.0.0:21116 --api 0.0.0.0:21120 --webkey your-secret-key-here
    
    ./hbbr -k your-public-key.pem --api 0.0.0.0:21121 --webkey same-secret-key

    注意:--webkey必须在hbbs与hbbr间保持一致,且客户端配置中需匹配该值。

    4. 网络层排查:防火墙与端口暴露

    即使服务正常运行,若系统防火墙或云安全组未放行对应端口,外部客户端仍无法建立连接。

    1. 开放TCP 21115-21119及UDP 21116用于ID发现与中继
    2. 确保21120(API)端口对外可访问
    3. 使用telnet或nc测试端口连通性:nc -zv your-server-ip 21115
    4. 检查SELinux/AppArmor是否阻止bind操作

    5. 日志驱动的问题定位流程图

    graph TD A[客户端登录失败] --> B{检查服务进程} B -->|hbbs/hbbr未运行| C[启动服务并验证参数] B -->|运行中| D[查看hbbs.log] D --> E[是否存在ID注册记录?] E -->|否| F[检查客户端ID Server配置] E -->|是| G[查看API调用日志] G --> H[是否有401/500错误?] H -->|是| I[验证--webkey一致性] H -->|否| J[检查Nginx反向代理配置] J --> K[确认SSL/TLS兼容性]

    6. 客户端配置验证清单

    最终用户侧的配置准确性直接影响登录成功率。建议提供标准化配置模板:

    • ID Server: your-domain.com:21117
    • Relay Server: your-domain.com:21116
    • API Server: http://your-domain.com:21120
    • Key Server: http://your-domain.com:21120
    • Web Key: your-secret-webkey-value
    • 取消勾选“Use official servers”
    • 清除本地缓存数据后重试
    • 使用开发者工具抓包观察实际请求目标
    • 对比官方文档最新配置格式
    • 测试不同网络环境下的可达性
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 9月22日