基于云服务器自建Rustdesk远程桌面——以京东云为例

基于云服务器自建Rustdesk远程桌面------以京东云为例

    • [0. 参考连接](#0. 参考连接)
    • [1. 云服务器配置(非广告,其他家应该也差不多)](#1. 云服务器配置(非广告,其他家应该也差不多))
      • [1.1 配置SSH](#1.1 配置SSH)
      • [1.2 配置防火墙](#1.2 配置防火墙)
      • [1.3 创建非ROOT用户](#1.3 创建非ROOT用户)
    • [2. 在服务器上下载运行服务端](#2. 在服务器上下载运行服务端)
      • [2.1 安装unzip](#2.1 安装unzip)
      • [2.2 下载RustDesk的服务端软件](#2.2 下载RustDesk的服务端软件)
      • [2.3 运行RustDesk的服务端软件](#2.3 运行RustDesk的服务端软件)
    • [3. 客户端安装运行](#3. 客户端安装运行)

0. 参考连接

1. 云服务器配置(非广告,其他家应该也差不多)

本人购买京东云轻量云主机,创建系统为Ubuntu20.04 64位

1.1 配置SSH

首先在本地计算机生成RAS秘钥(貌似京东云不支持Ed25519,或者我没找到)

bash 复制代码
ssh-keygen -C 'your@email.address' -t rsa

进入https://lavm-console.jdcloud.com/lavm/list网址,点击SSH秘钥-->创建--> 选择使用已有公钥 --> 填写秘钥名称 --> 添加本地秘钥(~/.ssh/id_rsa.pub中的内容)

点击左侧主机列表,找到创建的ubuntu主机,点击查看进入之后点击最上方的SSH秘钥,将当前主机与刚才创建的秘钥绑定

返回主机列表,对主机进行重启。

在本地终端运行ssh root@IP地址(IP地址可在上图中寻找)测试连接情况,若无意外则可以进入云主机的root终端

1.2 配置防火墙

点击上图中的查看之后,点击最上方的防火墙选项,通过添加规则放行下列端口

  • TCP (21115, 21116, 21117, 21118, 21119)
  • UDP (21116)

1.3 创建非ROOT用户

在本地终端以 root 用户身份连接到云主机之后,创建非root用户(我这京东云主机创建系统之后只有root用户),并配置无密码 sudo 访问,下面以创建rustdesk为例。

bash 复制代码
# Create the rustdesk user
adduser --disabled-password --gecos "" rustdesk

# Add rustdesk user to sudo group
usermod -aG sudo rustdesk

# Set up SSH key authentication
mkdir -p /home/rustdesk/.ssh
cp /root/.ssh/authorized_keys /home/rustdesk/.ssh/authorized_keys
chown -R rustdesk:rustdesk /home/rustdesk/.ssh
chmod 700 /home/rustdesk/.ssh
chmod 600 /home/rustdesk/.ssh/authorized_keys

# Configure passwordless sudo for rustdesk user
echo "rustdesk ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rustdesk
chmod 440 /etc/sudoers.d/rustdesk   

创建完成后,输入exit指令退出ssh,然后连接rustdesk用户ssh rustdesk@IP地址

2. 在服务器上下载运行服务端

2.1 安装unzip

bash 复制代码
sudo apt install unzip

2.2 下载RustDesk的服务端软件

首先在ssh终端中用lscpu查看处理器类型,我的是x86_64,因此在RustDesk Server 发布地址下载rustdesk-server-linux-amd64.zip版本,右键复制连接,然后终端中执行下面命令进行下载

bash 复制代码
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-linux-amd64.zip

然后运行下面命令解压和文件夹重命名

bash 复制代码
unzip ./rustdesk-server-linux-amd64.zip
mv amd64 rustdesk

cd rustdesk进入文件夹,执行ls可以发现当前文件夹有hbbrhbbsrustdesk-utils三个文件,hbbs是RustDesk的ID服务,用于分配和注册ID;hbbr时RustDesk的中继服务,主要远程访问就是这个,如果直连远程不行,会使用hbbr进行流量中继。

2.3 运行RustDesk的服务端软件

为了方便测试,用screen双开两个虚拟终端,并以前台模式挂起后端进程,首先安装screen,在ssh终端中执行

bash 复制代码
sudo apt install screen

然后在终端中运行下面命令创建一个叫Hbbs的虚拟终端,然后运行hbbs

bash 复制代码
screen -R Hbbs
./hbbs

键盘上按下Ctrl+ad返回主终端,启动hbbr

bash 复制代码
screen -R Hbbr
./hbbr

键盘上按下Ctrl+ad返回主终端,可以发现当前文件夹下面有下面这些文件

bash 复制代码
.
├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── hbbr
├── hbbs
├── id_ed25519
├── id_ed25519.pub
└── rustdesk-utils

执行下面命令将会打印key,用于rustdesk客户端连接的配置

复制代码
cat id_ed25519.pub

3. 客户端安装运行

前往RustDesk 客户端 Github 发布地址根据系统下载安装rustdesk客户端软件,然后点击图中的三个点-->网络-->中继服务器进行客户端配置

ID服务器和中级服务器都填写京东云服务器的ip地址

key填写2.3步骤最后打印的内容。

为了保证安全运行和方便连接,可以在上图中的安全选项中设置密码和2FA验证。

为了验证是否可行,在另一台机器人上安装客户端,并填写相同的内容,然后输入主页中的ID进行连接。

相关推荐
sunxunyong15 小时前
doris运维命令
java·运维·数据库
Guheyunyi15 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
雾削木18 小时前
k230 Pyhton三角形识别
运维·服务器·网络·stm32·智能路由器
北京聚信万通科技有限公司19 小时前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3
hgz071019 小时前
Linux服务器环境部署与JMeter压测准备
linux·服务器·jmeter
大连好光景20 小时前
Python打日志
运维·python·运维开发
遇见火星20 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
专家大圣20 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
二哈喇子!20 小时前
openFuyao 容器平台快速入门:Nginx 应用部署全流程实操
运维·nginx·openfuyao
齐鲁大虾21 小时前
国产 Linux 系统核心优缺点与适用场景
linux·运维·服务器