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

tips:

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

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

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

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

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

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

3.防火墙放行相应端口

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

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

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

二、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

下载完成后会有如下提示

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

首先下载对应的版本文件

创建一个会话

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

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

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

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

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

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

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

2.安装frps

2.1解压安装包

tar -zxvf frp_0.32.0_linux_amd64.tar.gz

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

mv frp_0.32.0_linux_amd64 frp

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

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

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

默认配置如下:

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

按“i”键进入编辑模式

更改配置

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

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

2.3运行 frp

给frp文件夹提权:

sudo chmod -R 777 /root/frp

运行frp

./frps -c ./frps.ini

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

3.设置frps开机自动运行

新建服务

vi /etc/systemd/system/frps.service  

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

输入

[Unit]Description=frps daemonAfter=syslog.target network.targetWants=network.target[Service]Type=simpleExecStart=/root/frp/frps -c /root/frp/frps.iniRestart= alwaysRestartSec=1min[Install]WantedBy=multi-user.target

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

然后使用

systemctl start frps

即可启动frps

systemctl enable frps

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

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

1.下载安装Microsoft .NET Framework 4

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

2.下载PCfrp

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

3.安装客户端frpc

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

[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

4.运行客户端 frpc

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

cd d:\frp 

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

输入运行命令

./frpc -c ./frpc.ini

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

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

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

写入以下内容:

<service><id>frp</id><name>frp</name><description>用frp发布本地电脑网站到外网</description><executable>frpc</executable><arguments>-c frpc.ini</arguments><logmode>reset</logmode></service>

保存后进入powershell,CD到frp所在目录,然后使用

winsw install

frpc start

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

services.msc

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

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

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

设置客户端远程桌面

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

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

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

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

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

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

  1. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

  2. Code-server阿里云ECS服务器部署

    文章目录 环境 code-server安装包 基础部件 安装部件 部署 1.创建sreen窗口 2.编辑codeserver配置文件 3.端口开放 4.codeserver服务启动 5.登陆codes ...

  3. python-django 阿里云ECS服务器部署uwsgi+nginx过程解说

    需求:在本地已经完成了一个博客系统/数据可视化系统的开发,需要部署到系统上,展示个人主页/个人作品 编程语言:Python 系统框架:Django 数据库:MySQL 服务架构:uwsgi+nginx ...

  4. 阿里云ECS服务器部署

    阿里云ECS体验JavaWeb 基础步骤 其他操作 第一章 基础步骤 第01节 登录阿里云服务器 在购买ECS服务器后,系统会创建一个ECS实例.每一个ECS实例对应一台已购买的云服务器. 您可以通过 ...

  5. 阿里云ECS服务器部署javaweb项目整个流程

    阿里云ECS建网站超详细全套完整图文教程!菜鸟必看! 第一步:如何以最低价格快速买到阿里云服务器? 1.1 如果我是学生,我如何通过¥9.9买到价值¥117的服务? 答:用¥9.9购买云服务器ECS是 ...

  6. 阿里云ECS服务器部署Node.js项目详细教程及多网站部署

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  7. 使用阿里云ECS服务器部署Web应用流程介绍

    一.前言 学习了许久的Java,也参与开发了很多的Java项目,但一直没有系统的接触学习过项目部署,而我对项目部署也很有兴趣,于是便摸索学习了一番,在这里记录一下学习过程,参考博客,遇到的问题和解决办 ...

  8. 阿里云ECS服务器部署Node.js项目全过程详解

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  9. 阿里云ECS服务器部署,nginx+node+git

    查看node.js中文文档时,看见阿里云服务器做广告,心急买了个低配的.就随便配了环境,Vue打包项目可正常访问.版本centos7,x 软件:ftp和xshell xshell可以说是命令行的形式, ...

最新文章

  1. 【numpy】tensordot的用法研究
  2. JavaScript 的面向对象编程
  3. 构建之法——软件工程概论、团队组织管理及开发流程
  4. cad自动标注界址点_CAD制图中的5个小技巧
  5. matlab 腐蚀 结构元素,图像的腐蚀
  6. git 放弃本地修改,强制拉取更新
  7. python中stacked_python – Django管理员StackedInline定制
  8. sklearn gridsearchcv_Sklearn与Tensorflow的完美结合
  9. 计算机机房维护保养计划表,机房日常维护保养计划
  10. Maxim推出上/下变频SiGe混频器MAX2042
  11. easyicon-----一个非常好用的找图标的网站
  12. mysql数据库安全吗_mysql数据库的安全
  13. 数据结构课设——航空航天订票系统
  14. MapGIS干货|数据投影生成地质图的8个视频教程
  15. C# 隐藏最大化、最小化和关闭三个按钮
  16. 集成银联支付-代付功能
  17. 性能测试从零开始(视频笔记 20210504)
  18. 关于联合体及联合体嵌套结构体
  19. C#中DataGridView移除选中行
  20. C语言用函数求圆的面积和周长,用C语言:编写两个函数,分别计算圆的面积和周长,要求在主函数中输入半径,调用函数进行计算,主函数中...

热门文章

  1. matlab中停止调试快捷键,matlab软件中各种快捷键的用法,还有和断点有关的用法...
  2. QImage 图片分割、保存
  3. linux 日志查看及操作
  4. bat创建桌面快捷方式,并用浏览器打开网页
  5. 计算机导论实训报告,计算机导论之office实训报告
  6. centos-基本命令
  7. 微信小程序实现简单定位功能
  8. JQ数据库查询时间转换
  9. 常用SQL语句大全,数据分析师入门必备!
  10. TinyXml 介绍