使用RD Client来远程桌面

可能你会觉得奇怪,team viewer和向日葵之类的难道不香吗?看起来他们两个都是实现了远程桌面的功能,好像没必要特地用Windows自带的RD Client进行内网穿透之后远程桌面。

实际上team viewer之类的在我的使用范围内不是特别好用,先列举出几条我觉得不好的地方:

  1. 速度慢,画面卡,经常会卡顿。
  2. 远程桌面的原理是通过大量截图再发送到服务器再传到远程端,带宽占用极大
  3. 如果使用安卓平板或者iPad进行远程连接,那蓝牙键盘的很多按键都没法正常使用,也就说如果使用iPad或者安卓之类的远程桌面就要忍受几乎不能使用常用快捷键

这是我使用的范围内team viewer之类不好用的地方。RD Client强的地方就在于:

  1. 微软有自己的远程桌面协议,可以在保证清晰度的同时还能不占用很大的带宽。我的frp服务器才5M的带宽,看视屏都不会很卡。并且支持局域网,在局域网内可以直接连接,速度比过frp更快了。
  2. 如果使用RD Client,用平板连上之后,板子就变成了一个Windows触屏版!!就像一个surface一样!屏幕转动后自适应分辨率之类的功能是team viewer之类的无法提供的!
  3. 对键盘的适配,除了win键,几乎所有的按键都能直接在平板上使用!

当然,RD Client并不能直接对标team viewer之类的产品,因为定位是不一样的啊。我只能从个人用户的角度去描述一些缺点,毕竟team viewer提供的是企业级的远程控制服务,能做的事和RD Client不能重叠起来比较的。

所以结论是:

1. 配置前的一些准备

接下来我只会讲frp内网穿透来实现远程桌面,如果你有自己的公网IP,那恭喜你不需要搞内网穿透,可以很方便的连接上,Google就知道怎么连了。

frp需要一个有公网IP的云服务器,也就是需要购置一个VPS。本人是用阿里云的学生机实现的,10块钱一个月5M带宽很划算。aliyun云翼计划传送门。带宽越大越好,所以选轻量服务器,1M的带宽是测过,只能打打字那样子,一到画面多变的时候就会很卡哦~所以不选ESC学生机。

aliyun学生身份认证很简单,24岁以下就算学生了。或者找学生朋友帮忙开一个,或者用ESC买按量付费的服务

域名就看着办吧,有的话最好,没有也没差。

2. 配置frp服务器

frp内网渗透分两个端,一个是服务器端,一个是客户端。也就是说,如果想要完成渗透,需要在服务器配置好后,在自己需要远程控制的电脑配置好frp的服务器,才能正常的完成整个流程。

frp的GitHub入口

2.1 服务器端frp的配置

首先,vps的环境默认为Ubuntu18。其他的发行版命令大同小异,就各自转化一下。

cd /usr/local    # 进入个人的默认的程序安装路径,如果你不喜欢可以自己更换一下
wget clone https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm64.tar.gz    # 下载frp文件
tar -zxvf frp_0.33.0_linux_arm64.tar.gz    # 解压文件
mv frp_0.33.0_linux_arm64 frp    # 对文件夹更名
rm frp_0.33.0_linux_arm64.tar.gz    # 删除安装包
cd frp    # 进入文件夹
# 完成后会进入frp文件夹中

如果GitHub下载得太慢,那就尽量使用使用代理加速。

其中VPS是服务器端,可以只保留有关的服务器的文件

rm frpc    # 删除客户端
rm frpc.ini    # 删除客户端配置文件

然后我们去配置一下frps.ini:

vim frps.ini

不懂vim的同学去Google一下:vim 输入 保存

[common]
bind_port = 7000
dashboard_port = 7500
token = 1234567890
dashboard_user = username
dashboard_pwd = 0987654321
vhost_http_port = 10080
vhost_https_port = 10443

讲解一下:

[common]
bind_port = 这里设置你监听的端口
dashboard_port = 这里是设置frp服务器的控制页面
token = 这里设置的是连接服务器的密码之类的,一会要用
dashboard_user = 你的用户名,请自定义
dashboard_pwd = 你的密码,请自定义
vhost_http_port = 可以写可以不写
vhost_https_port = 和上面一样属于可选项

这里注意一下啊,如果你使用的是阿里云的VPS,记得在防火墙或者安全组开放端口,不然的话是连接不上的。开放的端口是上面设置过的端口号哦~

像上面那样配置后之后,我们就去测试一下:

./frps -c frps.ini

看到如下信息:

使用RD Client来远程桌面-LMLPHP

就是安装成功了~

可以再试试访问你的IP或者你的域名:7500,输入上述你设置的用户名和密码之后,应该是可以访问成功的,页面如下:

使用RD Client来远程桌面-LMLPHP

接着为了方便,我们做点小设置。先在ssh终端Ctrl + C中断程序先。然后我们配置一下服务文件。

cd /etc/systemd/system
vim frp.service

在文件中输入如下内容:

[Unit]
Description=frp service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
Restart=on-failure # or always, on-abort, etc

[Install]
WantedBy=multi-user.target

其中,ExecStart那里的路径记得改成自己自定义的路径哈。

然后将frp激活为开机启动:

systemctl daemon-reload
systemctl enable frp

这样就完成了frp服务器端配置。我们可以通过systemctl status frp systemctl restart frp systemctl stop frp 之类的命令来查看frp的状态或者是开启关闭frp了。

如果想要查看frp运行时的logsystemctl status frp就可以看到具体的日志了。

2.2 Windows端的frp客户端配置

点击这里下载frp的Windows端

首先就是要把客户端下载好。自己选择想放的位置,随意,不过记得路径不要一会忘掉了。

不出意外解压之后能看到这样的界面。

使用RD Client来远程桌面-LMLPHP

我们是Windows客户端,配置一下frpc.ini。右键该文件,编辑

[common]
server_addr = xxx.xxx.xxx.xxxx
server_port = 7000
token = 1234567890

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

大概讲解一下

[common]
server_addr = 你的服务器IP地址,如果有域名,填写域名即可
server_port = 你在服务器端设置的监听接口,我给的范例是监听7000接口
token = 刚刚在服务器端设置的token,类似于密码之类的东西,如果密码不对是没法连上服务器的

[rdp]#	这里就是个名字,可以自己随便取
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
#	这一段是在配置远程桌面的接口,Windows的RD Client一般为3389接口

[smb]#	这里是配置网络文件共享系統,直接照抄即可
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002

[ssh]# 配置ssh接口,直接照抄即可
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
# 上面所有的remote port都可以自己定,定完之后一定要记得在服务器的安全组或者是防火墙打开对应的端口,安装了宝塔的还要再关一次。

测试一下是否配置成功。按住shift,右击自己的frp文件夹,点击在此打开power shell窗口。

使用RD Client来远程桌面-LMLPHP

输入代码运行frpc.exe

.\frpc.exe -c frpc.ini

看到下面这个图的信息说明已经成功连上了。

使用RD Client来远程桌面-LMLPHP

这样的话一不小心就会关掉这个窗口,关掉窗口就会关掉这个连接进程。我们希望他不要被关闭,所以写一个bat文件来解决这个问题。新建一个txt文件,编写下面这些代码。

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd D:\download data\frp_0.33.0_windows_amd64\frp_0.33.0_windows_amd64
frpc -c frpc.ini
exit

文件随便建在哪都可以,写好之后重命名为frp.bat。只要双击这个bat文件就能成功开启frp

然后ssh到你的vps,输入指令systemctl status frp,查看日志。出现如下信息说明连接成功。

使用RD Client来远程桌面-LMLPHP

如果你想开机自启动这个bat文件,就把文件丢到这个路径:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

如果你想关闭进程,那就Ctrl + shift + esc打开资源管理器关闭一个叫frpc的进程。

3. Windows的远程桌面设置

Windows默认是没有开启远程桌面的,要我们手动设置一下。如果以后不想远程桌面了就按这个地方反过来做即可。

win + e打开资源管理器。点击属性。

使用RD Client来远程桌面-LMLPHP

点击远程桌面,点击启用远程桌面,并点击第二个显示设置。

使用RD Client来远程桌面-LMLPHP

使用RD Client来远程桌面-LMLPHP

点击启用网络发现,保存更改后退出。

使用RD Client来远程桌面-LMLPHP

点击高级设置,开启网络验证。

使用RD Client来远程桌面-LMLPHP

大概就这样设置好了。

4. 从其他设备连接这台电脑

现在我们可以尝试从别的设备连接电脑了,这个就比较简单了啦。RD Client支持全平台,WindowsAndroidiOSmacos都是可以的。我就只讲WindowsAndroid怎么连,其他基本是同理的,要么就Google一下就能搞定啦~

1. Windows

最简单的,点击左下角的搜索按键,搜索yuan就能找到Windows的连接选项

使用RD Client来远程桌面-LMLPHP

然后你只需要输入你的IP或者域名,点击连接即可。

使用RD Client来远程桌面-LMLPHP

途中会要你的用户名,如果你不记得你的用户名,回到你设置远程桌面那里,点击可以远程的用户。

使用RD Client来远程桌面-LMLPHP

使用RD Client来远程桌面-LMLPHP

一切顺利的话,应该就能成功连上。其他高级设置各位就自己点点看看吧。

2. Android

Google play搜索RD Client,酷安搜索,或者点击这里下载,我这里分享的是OneDrive网盘,如果很慢就尝试一下代理。

点一下右上角的加号,点击DESKTOP,进入设置

使用RD Client来远程桌面-LMLPHP

输入你的服务器的域名或者IP地址,点击SAVE

使用RD Client来远程桌面-LMLPHP

点击刚刚建好的:

使用RD Client来远程桌面-LMLPHP

会让你输入user和密码,如果你不记得你的用户名,回到你设置远程桌面那里,点击可以远程的用户。密码就是你平时登录的密码(不是PIN)

使用RD Client来远程桌面-LMLPHP

使用RD Client来远程桌面-LMLPHP

不出意外就连上了。

3. iOS,MacOS

同理,我没有这些设备,不过知道了frp怎么设置以后剩下的Google应该也搞的定吧!

5. 小结

非常好用哈~,又多了一个奇怪的技能呢~

11-14 05:04