基于云服务器自建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进行连接。

相关推荐
Physicist in Geophy.3 小时前
新版ubuntu中sac安装问题(缺少libncurses5)
linux·运维·ubuntu
可乐大数据3 小时前
Docker安装(基于云服务器ECS实例 CentOS 7.9系统)
服务器·docker·centos
菲兹园长3 小时前
微服务组件(E、L、N、O、G)
linux·服务器·gateway
LBuffer4 小时前
破解入门学习笔记题二十五
服务器·前端·microsoft
richxu202510014 小时前
Linux本地部署deepseek大模型之 6. Windows本地连接远程云服务器中的MySQL常见错误的解决办法
linux·服务器·windows
Ryan ZX4 小时前
Ubuntu 升级OpenSSH10.2p1与OpenSSL3.5.4版本避坑实践
linux·运维·服务器·ubuntu
qq_5470261795 小时前
微服务 - 网关统一鉴权
运维·网络·微服务
梁正雄5 小时前
18、docker-macvlan-2-示例
运维·docker·容器·macvlan
梁正雄5 小时前
17、docker-macvlan-1-理论
运维·docker·macvlan·docker macvlan