大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!
前言
RustDesk 是一款体验优秀的远程控制软件,和 TeamViewer、AnyDesk 等主流的控制软件一样简单,能够让我们在另外一台设备上远程控制电脑,无论是远程办公、远程教学或者是远程协助,都能满足我们的需求。
界面简洁易用,无需太多学习成本,使用简单,文件传输、调整画面质量等功能应有尽有轻量小巧,windows 上甚至不用安装就能运行端到端加密,以及基于角色的访问权限控制,数据传输足够安全支持多平台,Windows、macOS、Linux、iOS、Android,甚至打开网页版都可以开始工作。
安装基础依赖
docker安装
安装docker可以参照之前的文章:centos7.2docker安装与使用
也可以使用如下命令快速安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
如果速度慢,也可以使用国内网址
curl -sSL https://get.daocloud.io/docker | sh
查看docker版本
[root@localhost ~]# docker --version
Docker version 23.0.3, build 3e7cbfd
安装docker-compose
yum install docker-compose-plugin
查看docker compose版本
[root@localhost ~]# docker compose version
Docker Compose version v2.17.2
启动docker
systemctl start docker
systemctl enable docker
创建配置文件
在root下新建一个rustdesk目录,并创建compose配置
mkdir -p /root/rustdesk
touch /root/rustdesk/docker-compose.yml
配置文件内容如下:
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r 这里替换成你服务器的公网ip:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
执行下载镜像和启动docker容器
[root@localhost rustdesk]# cd /root/rustdesk
[root@localhost rustdesk]# docker compose up -d
[+] Running 6/6
✔ hbbr 4 layers [⣿⣿⣿⣿] 0B/0B Pulled 10.3s
✔ 06d39c85623a Pull complete 6.5s
✔ 5dd09196e6ec Pull complete 6.7s
✔ ca6574f0f245 Pull complete 6.9s
✔ 4f4fb700ef54 Pull complete 7.0s
✔ hbbs Pulled 10.3s
[+] Running 3/3
✔ Network rustdesk_rustdesk-net Created 0.0s
✔ Container hbbr Started 0.7s
✔ Container hbbs Started
查看容器
docker ps
客户端使用自建服务器
点击ID/中级服务器
避免白嫖?
目前,通过自建rustdesk服务器,我们只需要填写ID服务器即可达到使用国内加速的目的,但是有一个风险点,如果其他人知道了你的地址,就可以白嫖使用你的流量,那么如何避免此类情况呢?
使用key认证
修改compose.yml
[root@localhost rustdesk]# vim /root/rustdesk/docker-compose.yml
在16行和31行加上-k参数
完整配置如下
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r 此处填写你的公网IP:21117 -k
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr -k
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
重新加载容器
[root@loclahost rustdesk]# cd /root/rustdesk/
[root@loclahost rustdesk]# docker compose pull
[+] Running 2/2
✔ hbbs Skipped - Image is already being pulled by hbbr 0.0s
✔ hbbr Pulled 2.2s
[root@loclahost rustdesk]# docker compose up -d
[+] Running 2/2
✔ Container hbbr Started 0.8s
✔ Container hbbs Started
测试客户端
不填写key的情况下,测试客户端报错
查看公钥文件
[root@localhost rustdesk]# cd /root/rustdesk/data/
[root@localhos data]# ls
db_v2.sqlite3 db_v2.sqlite3-shm db_v2.sqlite3-wal id_ed25519 id_ed25519.pub
[root@localhos data]# cat id_ed25519.pub
z5pT5R00HRKfhUaAsdgGaC8lU1oDM1QGBuLgasBIYgwK8BpagasaxX5LM=
重启服务器
reboot
再次测试
将key复制到客户端里,报错消失。
码字不易。如果文章对您有希望的话,请三连支持一波。
如有问题,欢迎留言,一起探讨,感谢。
也可关注早九晚十二微信公众号,看到留言后会第一时间回复。