用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 应不存在(如果没其他用途)。

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

相关推荐
雪可问春风1 天前
docker环境部署
运维·docker·容器
lwx9148521 天前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜1 天前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi71 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
海的透彻1 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
路溪非溪1 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
航Hang*1 天前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
fengfuyao9851 天前
VC++基于服务器的点对点文件传输实例
服务器·开发语言·c++
favour_you___1 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll