用rustdesk+云服务器实现远程控制

1 用rustdesk+云服务器实现远程控制

1.1 第一步 安装 Docker

在 root 用户下执行以下命令,安装 Docker 并设置开机自启:

bash 复制代码
# 更新软件包列表
apt update

# 安装 Docker(使用官方脚本,已配置阿里云镜像加速)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker

# 验证 Docker 是否安装成功
docker --version

1.2 第二步 运行 RustDesk 服务端容器

运行两个核心服务:hbbs(ID注册服务器)和 hbbr(中继服务器)。

请将 <你的服务器公网IP> 替换为你的云服务器公网 IP(例如 123.56.78.90)。

bash 复制代码
# 创建数据存放目录
mkdir -p /data/rustdesk

# 运行 hbbs(ID注册服务器),设置密钥为 Passw0rd
docker run --name hbbs -v /data/rustdesk:/root -td \
  --net=host \
  docker.m.daocloud.io/rustdesk/rustdesk-server \
  hbbs -r <你的服务器公网IP>:21117 -k Passw0rd

# 运行 hbbr(中继服务器)
docker run --name hbbr -v /data/rustdesk:/root -td \
  --net=host \
  docker.m.daocloud.io/rustdesk/rustdesk-server \
  hbbr

# 查看容器是否正常运行(应看到 hbbs 和 hbbr 状态为 Up)
docker ps

参数说明:

  • --net=host:容器直接使用主机网络,无需端口映射。
  • -v /data/rustdesk:/root:将容器内的 /root 目录挂载到主机的 /data/rustdesk,用于持久化数据。
  • -k Passw0rd:指定客户端连接密钥,所有客户端必须使用此 Key。

1.3 第三步 配置云服务器安全组规则(放行端口)

依次添加以下 入方向 规则(授权对象填 0.0.0.0/0):

1.4 第五步 配置 RustDesk 客户端

在所有需要远程控制的设备上安装 RustDesk 客户端。

  1. 下载客户端:访问 RustDesk 官网 下载对应系统的版本并安装。

  2. 打开客户端:点击左上角菜单 → "网络" → "ID/中继服务器"。

  3. 填写服务器信息:

    • ID 服务器:你的阿里云服务器公网 IP
    • 中继服务器:你的阿里云服务器公网 IP(同上)
    • API 服务器:留空
    • Key:输入 Passw0rd
  4. 点击 "确定" 保存。

配置成功后,客户端左上角会显示 "就绪" 和一个以字母开头的 ID。

1.5 第六步:测试连接

在设备 A 上打开 RustDesk,记下自己的 ID。

在设备 B 上输入设备 A 的 ID,点击连接,输入设备 A 显示的临时密码(或被控端设置的永久密码),即可开始远程控制。

1.6 设置永久密码(可选但推荐)

为了方便随时连接,可以设置一个固定密码:

点击右上角菜单 → "设置" → "安全"。

在 "永久密码" 处输入你想设置的密码,并勾选 "仅允许以下密码连接"。

这样以后连接时就不需要每次都看临时密码了。

1.7 维护命令

  1. 查看容器日志:

    bash 复制代码
    docker logs hbbs
    docker logs hbbr
  2. 重启容器:

    bash 复制代码
    docker restart hbbs hbbr
  3. 设置容器开机自启:

    bash 复制代码
    docker update --restart=always hbbs hbbr

2 卸载

  1. 停止并删除 Docker 容器

    bash 复制代码
    # 停止正在运行的容器
    docker stop hbbs hbbr
    # 3 删除容器
    docker rm hbbs hbbr
  2. 删除 Docker 镜像(可选,用于释放磁盘空间)

    bash 复制代码
     # 查看已拉取的 RustDesk 镜像 ID
     docker images | grep rustdesk
    
     # 3 删除镜像(假设镜像名为 docker.m.daocloud.io/rustdesk/rustdesk-server)
     docker rmi docker.m.daocloud.io/rustdesk/rustdesk-server
  3. 删除持久化数据目录

    bash 复制代码
     # 删除之前挂载的数据目录(里面可能包含密钥、数据库等)
     rm -rf /data/rustdesk
  4. (可选)卸载 Docker

    bash 复制代码
     # 卸载 Docker 及相关依赖
     apt remove --purge docker.io docker-ce docker-ce-cli containerd.io -y
     rm -rf /var/lib/docker
  5. (可选)删除云服务器安全组规则
    登录阿里云控制台,进入你的实例安全组,手动删除之前为 RustDesk 添加的端口规则(21115-21119 TCP 和 21116 UDP)。

  6. 验证清理是否成功

    • 执行 docker ps -a 应看不到 hbbs/hbbr 容器。
    • 执行 docker images 应看不到 rustdesk-server 镜像。
    • 目录 /data/rustdesk 应不存在(如果没其他用途)。

这样就完成了全部卸载。以后如果想重新搭建,只需要按照之前的步骤重新拉取镜像并运行容器即可。

相关推荐
浅念-9 分钟前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
日常筹谋记13 分钟前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯
Shadow(⊙o⊙)39 分钟前
Linux进阶知识1.0
linux·运维·服务器
闲云自留地1 小时前
告别命令恐惧症,openEuler 基础操作 + 文本 + 网络管理实战
linux·运维·云计算
剑指offer.2 小时前
ARM裸机开发-点亮LED灯
linux·服务器·嵌入式硬件
Wang's Blog2 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
Ivanqhz2 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
其实防守也摸鱼2 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
Julien20043 小时前
自动挂载网络附加存储
linux·服务器·网络
^Rocky3 小时前
IT 疑难杂症诊疗室:复杂技术问题解决实录
运维·bug