两步搭建RustDesk服务端 – 程序员推荐的远程控制桌面、电脑工具

本文前沿

网上很多桌面工具:诸如向日葵、todesk、teamview等等都是第三方公司运营的。普通用户不付费很难享受到高质量的服务。同时如果这些公司倒闭、被黑了,我们的桌面相当于裸奔出去了!

如果我们自己搭建的服务,所以被攻击的可能性极小”(自己几斤几两还不清楚?),同时我们自己如果有云服务器的话,如果云服务器带宽足够,我们将“独享”体验飞一般的感觉!难得可贵的是提供了多系统的客户端!

对了,抄我本篇文章必须备注来源哦!

RustDesk优点

1、自建服务端。搭建在自己的云服务器就相当于独享高速带宽!

2、点对点通信。TCP隧道功能一旦打洞成功,相当于用户之间直连,不走服务器带宽!

3、通信加密。配置公钥后,必须拥有公钥才能正常使用!

4、内置文件传输。得益于点对点通信,文件传输不也是手到擒来嘛!

RustDesk相关链接

官方介绍:https://rustdesk.com/zh/

服务下载地址:https://github.com/rustdesk/rustdesk-server/releases

客户端下载地址:https://rustdesk.com/zh/ 支持IOS、Mac、Windows、Android、Linux等等!

正文:RustDesk Linux服务端搭建教程(非Docker)

前往Github下载好服务端需要的文件,我们看下文件结构。

[root@VM-4-14-centos rustdesk]# tree
.
└── amd64
    ├── db_v2.sqlite3
    ├── db_v2.sqlite3-shm
    ├── db_v2.sqlite3-wal
    ├── hbbr
    ├── hbbs
    ├── id_ed25519     (一开始不会有这个文件,启动后会自动生成,如需更换删除重启服务)
    ├── id_ed25519.pub (一开始不会有这个文件,启动后会自动生成,如需更换删除重启服务)
    └── rustdesk-utils

RustDesk默认程序占用端口说明

  1. hbbs是ID/Rendezvous 服务器。默认监听:21115(tcp), 21116(tcp/udp), 21118(tcp)
  2. hbbr是中继服务器。默认监听:21117(tcp), 21119(tcp)

如果只需要基本的远程控制: 请注意21116同时要开启TCP和UDP。

其中21115是hbbs用作NAT类型测试(无需开启,不用关注)

hbbs:21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务

hbbr:只用TCP。21117是hbbr用作中继服务使用。21118、21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,端口可以不开。

总结:hbbs需要指定端口用于客户端的ID服务器hbbr用于中继服务器

启动 hbbr 是中继服务器

修改hbbr默认端口为 21117 -> 36001(注意要去云安全组、服务器系统防火墙方形哦 注意是TCP即可)

-k 是加密 参数使用固定的_ 公钥在id_ed25519.pub文件中。秘钥你也可以自定义字符串哦

nohup ./hbbr -p 36001 -k _ > hbbr.out 2>&1  &

查看hbbr日志(已删除时间)

INFO [src/common.rs:121] Private key comes from id_ed25519
INFO [src/relay_server.rs:580] Key: 你可使用文件,你也可以自定义字符串
INFO [src/relay_server.rs:60] #blacklist(blacklist.txt): 0
INFO [src/relay_server.rs:75] #blocklist(blocklist.txt): 0
INFO [src/relay_server.rs:81] Listening on tcp :36001
INFO [src/relay_server.rs:83] Listening on websocket :36003
INFO [src/relay_server.rs:86] Start
INFO [src/relay_server.rs:106] DOWNGRADE_THRESHOLD: 0.66
INFO [src/relay_server.rs:115] DOWNGRADE_START_CHECK: 1800s
INFO [src/relay_server.rs:124] LIMIT_SPEED: 4Mb/s
INFO [src/relay_server.rs:134] TOTAL_BANDWIDTH: 1024Mb/s
INFO [src/relay_server.rs:148] SINGLE_BANDWIDTH: 16Mb/s

启动 hbbs 是ID服务器

修改hbbs端口为21116 -> 36000(注意要去云安全组、服务器系统防火墙方形哦 注意是TCP+UDP哦)

参数说明: -r是指定中继服务器地址,也就是hbbr地址。同时-p指定hbbsID服务器运行的端口。-k 是加密 参数使用固定的_ 公钥在id_ed25519.pub文件中。秘钥你也可以自定义字符串哦

nohup ./hbbs -r 你的IP或域名:36001 -p 36000 -k _ > hbbs.out 2>&1 &

hbbs日志(已经删除时间)

INFO [src/common.rs:121] Private key comes from id_ed25519
INFO [src/rendezvous_server.rs:1185] Key: 你可使用文件,你也可以自定义字符串
INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
INFO [src/rendezvous_server.rs:100] serial=0
INFO [src/common.rs:46] rendezvous-servers=[]
INFO [src/rendezvous_server.rs:102] Listening on tcp/udp :36000
INFO [src/rendezvous_server.rs:103] Listening on tcp :35999, extra port for NAT test
INFO [src/rendezvous_server.rs:104] Listening on websocket :36002
INFO [libs/hbb_common/src/udp.rs:35] Receive buf size of udp [::]:36000: Ok(212992)
INFO [src/rendezvous_server.rs:139] mask: None
INFO [src/rendezvous_server.rs:140] local-ip: ""
INFO [src/common.rs:46] relay-servers=["你的IP或域名:36001"]
INFO [src/rendezvous_server.rs:156] ALWAYS_USE_RELAY=N
INFO [src/rendezvous_server.rs:177] Start
INFO [libs/hbb_common/src/udp.rs:35] Receive buf size of udp 0.0.0.0:0: Ok(212992)

启动完成,查看hbbs、hbbr是否正常运行

[root@VM-4-14-centos amd64]# ps -a | grep hbb
 2498 pts/0    00:00:17 hbbr
 2668 pts/0    00:00:01 hbbs

有hbbr、hbbs说明一切正常,前往配置客户端吧!

客户端配置

填写你的ID服务器、中继服务器即可

Key在启动服务的使用_ 你就要从文件id_ed25519.pub获取。如果你是自定义,填写自定义即可!

点击确认后,等待网络连接正常,你就可以使用了。

附赠-hbbr、hbbs命令详细说明

hbbr

[root@VM-4-14-centos amd64]# ./hbbr --help
hbbr 1.1.7
Purslane Ltd. <info@rustdesk.com>
RustDesk Relay Server

USAGE:
    hbbr [OPTIONS]

FLAGS:
    -h, --help       打印帮助信息
    -V, --version    打印版本信息

OPTIONS:
    -k, --key <KEY>                       客户端拥有相同的key才允许链接
    -p, --port <NUMBER(default=21117)>    指定监听的端口

hbbs

[root@VM-4-14-centos amd64]# ./hbbs --help
hbbs 1.1.7
Purslane Ltd. <info@rustdesk.com>
RustDesk ID/Rendezvous Server

USAGE:
    hbbs [OPTIONS]

FLAGS:
    -h, --help       打印帮助信息
    -V, --version    打印版本信息

OPTIONS:
    -c, --config <FILE>                   设置自定义配置
    -k, --key <KEY>                       仅允许具有相同密钥的客户端远程目标电脑,被远程者,暂时无需填写,只需要填写ID服务器即可!
        --mask <MASK>                     Determine if the connection comes from LAN, e.g. 192.168.0.0/16
    -p, --port <NUMBER(default=21116)>    指定监听的端口
    -r, --relay-servers <HOST>            设置中继服务器 Sets the default relay servers, seperated by colon
    -R, --rendezvous-servers <HOSTS>      Sets rendezvous servers, seperated by colon
    -M, --rmem <NUMBER(default=0)>        Sets UDP recv buffer size, set system rmem_max first, e.g., sudo sysctl -w
                                          net.core.rmem_max=52428800. vi /etc/sysctl.conf, net.core.rmem_max=52428800,
                                          sudo sysctl –p
    -s, --serial <NUMBER(default=0)>      Sets configure update serial number
    -u, --software-url <URL>              Sets download url of RustDesk software of newest version

终止RustDesk服务端

因为服务前缀都是hbb(hbbr、hbbs)开头的,所以直接查询所有的hbb命令的进程

ps -a | grep hbb

然后执行杀掉PID

kill -9 PID

Linux一键启动hbbr、hbbs

#!/bin/sh
# author name:zanglikun
# author QQ:740969606

# "设置中继服务器的端口:当前是36001"
nohup ./hbbr -p 36001 -k _ > hbbr.out 2>&1  &
echo "Hbbr is OK!"
sleep 3
# "设置ID服务器的端口:-r 指定中级服务器,-p指定ID服务器端口"
# 示例:nohup ./hbbs -r baidu.com:36001 -p 36000 -k _ > hbbs.out 2>&1 &
nohup ./hbbs -r 你的中继服务器IP:上面你指定的中继端口 -p 36000 -k _ > hbbs.out 2>&1 &
echo "Hbbs is OK!"
sleep 3
echo "如果有hbbr、hbbs就算启动成功!"
ps -a | grep hbb

PC控制Android示例

特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WinForm批量远程控制桌面指的是使用WinForm技术实现批量控制远程桌面的功能。 在实现这个功能之前,我们需要了解远程桌面控制的基本原理。远程桌面控制是指通过网络连接远程计算机,并且能够在本地计算机上操作和控制远程计算机的桌面。通常,远程桌面控制涉及两个主要的角色,即服务端和客户端。 服务端是远程计算机上运行的软件,它负责提供远程访问的服务。客户端是本地计算机上运行的软件,它负责连接远程计算机,并且提供用户操作的界面。 在WinForm中实现批量远程控制桌面的基本步骤如下: 1. 创建一个WinForm应用程序,作为客户端的界面。 2. 使用WinForm的界面设计工具,设计一个用户界面,包括远程计算机列表、控制按钮等。 3. 实现远程计算机列表的管理功能,可以添加、删除和编辑远程计算机的信息。 4. 实现连接远程计算机的功能,可以通过网络连接到远程计算机,并且获取到远程桌面的图像数据。 5. 实现桌面控制的功能,可以在本地计算机上操作远程桌面的鼠标、键盘等输入设备,并且将操作传递到远程计算机上。 6. 实现批量控制的功能,可以选择多台远程计算机进行批量控制,可以同时进行多个远程桌面控制的操作。 7. 实现远程桌面的图像显示功能,可以将远程计算机的桌面图像实时显示在客户端的界面上。 8. 实现错误处理和异常处理的功能,保证程序的稳定性和安全性。 以上是用300字回答如何使用WinForm实现批量远程控制桌面的问题。希望以上内容对你有帮助。 ### 回答2: WinForm批量远程控制桌面是指通过使用WinForm技术来实现对多个远程桌面的同时控制。这项技术可用于一些需要同时管理多台远程计算机的场景,如企业级系统管理、网络维护等。 实现此功能的方法如下: 1. 建立服务器端:首先搭建一个服务器端程序,用于接收客户端连接和处理远程控制请求。可以基于WinForm开发,采用TCP/IP通信协议,通过监听服务器的IP地址和端口,等待客户端的连接请求。 2. 建立客户端:每个需要被控制的远程计算机都需要安装一个客户端程序,可以基于WinForm开发。客户端程序需要连接到服务器端,并向服务器发送远程控制请求。 3. 连接与通信:客户端请求连接服务器服务器端接受连接请求后与客户端建立有效的双向通信。可以使用Socket进行数据传输,实现双向的数据交互。 4. 桌面远程控制服务器端在接受到来自客户端的远程控制请求后,通过使用相关的技术,如远程桌面协议(如RDP协议)、远程控制库(如OpenRPA)或远程桌面工具(如TeamViewer)等方式,实现对远程计算机桌面的实时抓取、远程操作和控制。 5. 批量控制:通过在服务器端管理多个客户端的连接信息,可以实现对多个远程计算机的同时控制。可以通过列表或树形结构显示已连接的客户端,实时更新远程计算机的状态和活动。 总之,WinForm批量远程控制桌面功能的实现需要借助于服务器端和客户端的程序,并通过相关的远程控制技术实现对多台远程计算机的同时控制。这样可以方便地进行集中管理和维护,提高工作效率和减少成本。 ### 回答3: Winforms是一种用于开发Windows桌面应用程序的技术。要实现批量远程控制桌面,通常需要结合远程桌面协议(如RDP)和网络编程来实现。 首先,我们可以使用Winforms开发一个简单的应用程序,用于管理和控制远程桌面。这个程序可以提供用户界面,用于输入和管理要远程控制的目标机器的信息。 然后,我们可以使用远程桌面协议(如RDP)来远程连接到目标机器。在Winforms应用程序中,我们可以使用自带的Windows.Forms类库中的远程桌面控件(如RemoteDesktopControl)来实现桌面的远程访问和控制。 为了实现批量远程控制,我们可以在应用程序中提供一个列表或数据库,用于存储和管理要控制的目标机器的信息。用户可以通过UI界面进行添加、删除和编辑目标机器的信息。 用户可以选择一个或多个目标机器进行远程控制。通过远程桌面协议,我们可以在Winforms应用程序中创建多个远程连接,并将其显示在不同的窗口中,以便同时控制多台机器。 此外,我们还可以在应用程序中实现一些额外的功能,如屏幕共享、文件传输等。这些功能可以通过网络编程来实现,例如使用Socket或WCF通信机制。 在应用程序开发完成后,用户可以通过该应用程序方便地批量远程控制桌面。他们只需选择目标机器,并通过远程桌面控制来实现对这些机器的远程访问和控制。 总之,借助Winforms技术,并结合远程桌面协议和网络编程,我们可以开发一个功能强大的应用程序,实现批量远程控制桌面的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值