全平台远程桌面服务 RustDesk 搭建教程

简介

RustDesk ​是一款开箱即用的开源免费的全平台远程桌面软件,包括 MacOS​、Windows ​和 Android ​的客户端支持。它可以替代类似于 向日葵远程桌面​、ToDesk ​等远程桌面服务,这可以让你完全掌控数据,不用担心安全问题。你可以选择使用官方的注册/中继服务器,也可以自建服务器,甚至基于官方代码开发自己的版本。

部署服务

环境准备

  1. 服务器需要有安装 Docker 和 DockerCompose 环境
  2. 创建持久化目录及 compose 描述文件

    # 创建文件夹
    mkdir -p /home/rustdesk-server
    
    cd /home/rustdesk-server
    
    mkdir hbbr
    
    mkdir hbbs
    
    # 创建描述文件,并粘贴序号3的描述文件内容
    vim docker-compopse.yml
  3. docker-compose.yml 描述文件

    version: '3'
    
    networks:
      rustdesk-net:
        external: false
    
    services:
      hbbs:
        container_name: rustdesk-hbbs
        ports:
          - 21115:21115
          - 21116:21116
          - 21116:21116/udp
          - 21118:21118
        image: rustdesk/rustdesk-server:latest
        # 请把 www.xxxaaa.cn:21117 修改为自己的域名
        # hbbs 的 -r 参数不是必须的,他只是方便你不用在客户端指定中继服务器,如果是默认 21117 端口,可以不填 port 。
        # 客户端指定的中继服务器优先级高于这个!!!
        # 如果您禁止没有key的用户建立非加密连接,请在运行hbbs和hbbr的时候添加-k _参数
        command: hbbs -r www.xxxaaa.cn:21117 -k _
        volumes:
          - ./hbbs:/root
        networks:
          - rustdesk-net
        depends_on:
          - hbbr
        restart: unless-stopped
    
      hbbr:
        container_name: rustdesk-hbbr
        ports:
          - 21117:21117
          - 21119:21119
        image: rustdesk/rustdesk-server:latest
        # hbbr -k _
        command: hbbr
        volumes:
          - ./hbbr:/root
        networks:
          - rustdesk-net
        restart: unless-stopped

运行容器

docker-compose 常用命令:

# 运行容器
docker-compose up -d

# 停止容器
docker-compose stop

# 启动容器
docker-compose start

# 重启容器
docker-compose restart

# 下线(删除)容器,删除容器不会导致你的数据丢失,你的数据库保存在了当前目录下的data文件夹内,请妥善保管该目录
docker-compose down

查看服务器公钥

在上面的 docker-compose ​文件中,已经声明开启了强制密钥加密认证,所有需要连接的设备都需要提供正确的公钥才能正常连接到服务器。

下面是 docker-compose 文件所在文件夹的目录结构:

.
├── docker-compose.yml
├── hbbr
└── hbbs
    ├── db_v2.sqlite3
    ├── db_v2.sqlite3-shm
    ├── db_v2.sqlite3-wal
    ├── id_ed25519
    └── id_ed25519.pub

容器启动后会自动生成公钥和私钥,我们需要拷贝 hbbs ​目录下的 id_ed25519.pub ​文件里面的字符串,这个就是我们连接到服务器的凭证。

如需更换密钥和公钥,只需将 hbbs ​文件夹下面的 id_ed25519.pub ​和 id_ed25519 ​两个文件删掉然后重启容器就可以自动重新生成。

配置客户端

普通配置

注意:被控端只需要填写输入服务器 IP 地址即可,控制端需要填入秘钥,才可以发起连接。

我们可以在客户端的设置界面,输入服务器 IP 地址,和秘钥文件,保存后,就可以看到客户端会提示就绪。

自动配置

只有在控制端发起连接时才需要验证秘钥。

这样我们就可以把被控端发给任何人,而不需要担心秘钥泄露,以及其他未授权用户发起连接。

设置好后,我们将被控端发给需要我们远程的人,不需要他做任何设置,只需要他打开软件,将软件的 ID 和密码发给我们,我们就可以远程其设备了。

如果需要无人值守,也就是开机自动运行远程软件,以方便我们远程连接,我们直接打开被控端软件,点击安装就可以将软件和配置一起安装到设备上。

如果你想要让客户端不用手动输入中继地址和密钥,直接双击运行就可以用的话,可以将通过修改客户端文件名的方式来实现。

我们将客户端改名:
被控端
host=服务器IP,key=错误的秘钥内容.exe
例如:host=129.129.33.8,key=111.exe

控制端
host=服务器IP,key=正确的秘钥内容.exe
例如:host=129.129.33.8,key=4uZtPIYe4y344NP3IVc5SxRzKeiNn2lfen4tEY=.exe

附注

端口说明

组件功能使用的端口
hbbsRustDesk ID 注册服务器21115(TCP):用作 NAT 类型测试
21116(UDP):用作 ID 注册与心跳服务
21116(TCP):用作 TCP 打洞与连接服务
21118(TCP):为了支持网页客户端
hbbrRustDesk 中继服务器21117(TCP):用作中继服务
21119(TCP):为了支持网页客户端

posted @ 2023-03-14 13:00:00 猎隼丶止戈 阅读(79) 评论(0)
发表评论
昵称
邮箱
网址