欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

程序员文章站 2022-07-09 21:28:31
...

由于TeamViewer的高额使用费及其安全问题,萌生了自己搭建FRP实现Windows远程桌面的想法,网上找了一圈基本没有全面且安全落地的,大部分都是面向技术达人的,对于新手的我来说走了不少弯路,在摸索中终于搞定了远程桌面管理,省一点是一点,如有不完美的请各位达人指教。

tips:

1.不差钱的可以买带宽大点的服务器

2.新建服务器入站规则时,一定要一个端口一个端口建,尝试过端口端建规则,结果折腾了两天没成功,差点放弃

3.frp的KCP方式还在研究,据说握手后就能直连了,速度会快不少

一、部署带公网IP的云服务器

1.购买阿里云ECS服务器,选择UBUNTU系统,版本16以上

2.云服务器启动后进入管理界面设置管理员密码

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

3.防火墙放行相应端口

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

重复以上操作,把7000和其他客户端需要使用的端口一个个制定入站规则,每个端口可对应一台远程客户端,有些端口设置后可能无法连接,这是因为你设置的端口被系统占用了,重新换个端口试试,切记一定要单个端口一个规则,不要设置成端口段,我就在这里卡了好久

4.ECS控制台自带远程登录服务器

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

 

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

登录成功后进入命令行界面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

二、FRP服务器端安装

1.下载frp服务器端

wget https://github.com/fatedier/frp/releases/download/XXXXX/frp_XXXXX_linux_amd64.tar.gz

XXXXX frp最新版本号,可以通过frp官网查询FRP,我以0.32.0为例:wget https://github.com/fatedier/frp/releases/download/v0.32.0/frp_0.32.0_linux_amd64.tar.gz

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

下载完成后会有如下提示

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

FRP官网部署在国外,可能下载速度较慢,可以先自行下载到本地再上传到服务器,比较简单的方式是用Xshell

首先下载对应的版本文件

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

创建一个会话

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

创建完成后进入会话列表,选中后点击连接

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

出现以下提示即表示连接成功

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

在命令行界面空白处右键鼠标,选择传输模式,我选的是ZMODEM,三个模式看哪个速度快选哪个

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

弹出文件选择框后选择文件,打开即可上传

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

如果出现以下提示,请按提示安装lrzsz即可,安装完成后再重新上传

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

如果上传速度慢可以尝试用其他模式方式来传,传输完毕后会有如下提示:

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

在当前命令行下输入:ls  看看有没有上传成功

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

2.安装frps

2.1解压安装包

tar -zxvf frp_0.32.0_linux_amd64.tar.gz

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

解压后为了后续操作命令简短,可以将解压的文件移动到frp文件夹,

mv frp_0.32.0_linux_amd64 frp

移动之后再查看下目录内的文件夹对不对

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

然后进入frp目录:cd frp 并再次确认文件是否齐全

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

2.2配置frps.ini文件:vi frps.ini

默认配置如下:

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

按两次“D”把默认配置逐行删除

“i”键进入编辑模式

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

更改配置

[common]
bind_addr=0.0.0.0
bind_port = 7000
auto_token=XXXXX
dashboard_port = 7800
dashboard_user = admin
dashboard_pwd = XXXXXXX

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

更完成后按ESC键退出编辑模式,输入:wq 保存并退出

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

2.3运行 frp

frp文件夹提权:

sudo chmod -R 777 /root/frp

运行frp  

./frps -c ./frps.ini

出现如下提示即表示运行成功

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

3.设置frps开机自动运行

新建服务

vi /etc/systemd/system/frps.service  

“I”键进入编辑模式,注意ExecStart中要配置成自己的路径

输入

[Unit]

Description=frps daemon

After=syslog.target network.target

Wants=network.target



[Service]

Type=simple

ExecStart=/root/frp/frps -c /root/frp/frps.ini

Restart= always

RestartSec=1min



[Install]

WantedBy=multi-user.target

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

ESC退出编辑模式,输入:wq 保存并退出

然后使用

systemctl start frps

即可启动frps

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

systemctl enable frps

即可将frps设置为开机启动。

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

三、客户端设置(就是你要远程控制的那台电脑)

1.下载安装Microsoft .NET Framework 4

自行百度下载并安装,win10可以直接在程序和功能——》启用或关闭Windows功能中找到并安装

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

2.下载PCfrp

我下的是64位版,请按需下载

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

3.安装客户端frpc

解压文件包,最好把减压的文件夹重命名为frp并复制到D:\等根目录,编辑frpc.ini文件,建议用VScode或者Notepad编辑(下载地址:Notepad++),系统自带的记事本会改变文件格式,造成加载配置文件错误

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

[common]
server_addr = 服务器IP
server_port =  7000 
auto_token=认证密码
[rdp-bty]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7800

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

4.运行客户端 frpc

win+r键打开运行命令框,输入powershell 回车进入命令窗口

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

cd d:\frp 

  这里的路径自己改成你放frp的地址,我是放在Dfrp文件夹下的

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

输入运行命令

./frpc -c ./frpc.ini

运行成功后会有如下提示,下面设置使其随系统启动,

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

5.设置客户端frpc随系统启动

下载winsw最新版,为了方便将其重命名为winsw.exe, 将该文件和frpc.exe放在一起,然后新建winsw.xml

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

写入以下内容:

<service>

    <id>frp</id>

    <name>frp</name>

    <description>用frp发布本地电脑网站到外网</description>

    <executable>frpc</executable>

    <arguments>-c frpc.ini</arguments>

    <logmode>reset</logmode>

</service>


通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

 保存后进入powershellCDfrp所在目录,然后使用

winsw install

frpc start

命令即可将frpc安装为系统服务。
win+r后通过

services.msc

进入到服务列表页面找到frp服务。

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

为了确保frpc在连接失败后自动尝试重新连接,在恢复tap页进行如下设置:

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

完成后下次启动系统,服务就会自动启动运行。

设置客户端远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

四、通过Windows远程桌面连接到受控客户端
 

通过开始菜单打开远程桌面程序

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

或者通过命令行打开:使用win+r然后mstsc 进入远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

点连接后输入受控端电脑的用户名密码即可登录

通过阿里云ECS服务器部署FRP实现Windows自带远程桌面

如果提示无法连接,请检查受控端远程桌面设置是否有问题,尝试关闭受控端防火墙,如果还是无法连接请跟换端口,并在服务器安全组中把更改后的端口号写入入站规则