使用 frp 实现 windows 远程

前提条件:

拥有一台公网 ip 的服务器;

被远程控制的 windows 系统为专业版(家庭版的其它方式没有尝试过);

frp 下载包及使用说明

frp release 包的下载网址:https://github.com/fatedier/frp/releases
中文使用说明:https://gofrp.org/zh-cn/

x86_64 架构选择 amd64 即可;

在服务器上配置 frp

使用 ssh 登录服务器,切换为 root 权限;

# 进入 /opt 目录
cd /opt

# 2023-03-01 最新的版本为:0.54.0
# 下载 frp linux 包,我使用的是 x86_64 的 ubuntu 系统。
# 所以选择的下载命包为:frp_0.54.0_linux_amd64.tar.gz
# 使用 wget 下载,命令如下;下载不成功可以多尝试几次;
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

# 解压文件
tar -xzvf frp_0.54.0_linux_amd64.tar.gz

# 重命名 frp_0.54.0_linux_amd64 为 frp
mv frp_0.54.0_linux_amd64 frp

# 将 frps 移动到系统执行目录
mv frp/frps /usr/bin/frps

# 创建 frps.toml 配置文件,并填写内容如下
mkdir /etc/frp
vi /etc/frp/frps.toml

frps.toml 文件内容如下

# 客户端需要访问的端口,可以随意修改
bindPort = 6666

# 授权方式
auth.method = "token"
# 授权码,请改成更复杂的
auth.token = "aaaaa"

# dashboard 服务配置,"0.0.0.0" 为本机所有 ip
webServer.addr = "0.0.0.0"
# dashboard 配置的端口,可以随意修改
webServer.port = 6667
# dashboard 配置的用户名和密码,修改成自己的
webServer.user = "bbbbb"
webServer.password = "ccccc"

在服务器的平台上,将上述端口(6666、6667)开放出来;

端口开放界面如下图:

运行 frps 服务;

# 前台运行
frps -c /etc/frp/frps.toml

# 关闭当前服务
Ctrl + c 「快捷键」

测试 frps 服务

# 打开浏览器输入 服务器ip:dashboard端口
例:
139.224.227.14:6667

输入上面配置的用户名和密码登录;

出现以下内容界面 frps 配置 ok,如果没有出现建议百度解决;测试成功后,使用 Ctrl + c 将服务退出即可;

使用 systemd 来使 frps 服务自启动

参考说明:使用 systemd | frp

安装 systemd

1. 安装 systemd

如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd

# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

2. 创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

vi /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

3. 使用 systemd 命令管理 frps 服务

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

4. 设置 frps 开机自启动

systemctl enable frps

开启 windows 系统的远程功能

win10 系统

win + i 快捷键;点击系统

点击用户账户可以知道 windows 远程的用户名;一般为邮箱,密码一般为微软账号密码;

win11 系统

win + i 快捷键;点击系统,里面有远程桌面

点击远程桌面用户可以知道访问权的账户,如下示例:账户为 Tao,我的远程密码为 pin 码;

临时远程工具

可以临时使用 todesk、向日葵之类的软件来暂时远程配置电脑;

在 windows 上配置 frp,使用 stcp 的方式「配置文件方式一」

两台电脑(控制与被控制的电脑)都需要这样操作;

在 release 网站中下载合适的包 Releases · fatedier/frp · GitHub

我下载的是:frp_0.54.0_windows_amd64.zip

下载过程中浏览器和电脑防火墙会报毒,选择允许在磁盘上即可;

解压后,防火墙会报毒,然后删文件,选择允许在磁盘上,并还原删除的文件即可;

在电脑 c 盘根目录建一个 frp 文件夹,并将解压后的文件 frpc.exe 放入该目录;

# 在 frpc.exe 同级目录下,新建一个 start.txt 文件;
# 用记事本或其它软件打开 start.txt,填写内容如下:
@echo off
:home
frpc -c frpc.toml
goto home

将 start.txt 修改为 start.bat 即可;

在被控制的电脑上配置 frpc

在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;

用记事本或其它软件打开 frpc.toml,填写内容如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 配置本地的端口接听,name 对于访问者来说就是 serverName
[[proxies]]
name = "stcp-home"
type = "stcp"
secretKey = "liangtao1996"
# 本地需要访问的 ip 与端口
localIP = "127.0.0.1"
localPort = 3389
## 配置本地的端口接听结束

在控制的电脑上配置 frpc

在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;

用记事本或其它软件打开 frpc.toml,填写内容如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 访问者的配置
[[visitors]]
name = "stcp-vcompany"
type = "stcp"
serverName = "stcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
## 访问者的配置完毕

运行 frpc 服务

在两台电脑上分别双击 start.bat;frpc 服务就会运行;此时不关闭 cmd 窗口;

在控制的电脑上执行快捷键 win + r

输入 mstsc 回车

 

会出现以下界面

输入 127.0.0.1:6000 回车后,输入被控制电脑的用户名和凭据,即可进行 windows 远程;

这样就能远程内网的电脑了;

在 windows 上配置 frp,使用 xtcp 的方式「配置文件方式二」

xtcp 不一定成功,与 stcp 的配置文件的差别就是将 stcp 修改为 xtcp 即可。

xtcp 远程的流量不经过云服务器。

在被控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 配置本地的端口接听,name 对于访问者来说就是 serverName
[[proxies]]
name = "xtcp-home"
type = "xtcp"
secretKey = "liangtao1996"
# 本地需要访问的 ip 与端口
localIP = "127.0.0.1"
localPort = 3389
## 配置本地的端口接听结束

在控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

## 访问者的配置
[[visitors]]
name = "xtcp-vcompany"
type = "xtcp"
serverName = "xtcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
## 访问者的配置完毕

在 windows 上配置 frp,使用 xtcp 与 stcp 的方式「配置文件方式三」

在官方的手册上给出了 xtcp 不行的时候转为 stcp 方式的配置;

参考链接:XTCP | frp

控制与被控制的电脑完全可以配置调转来实现反控制,所以修改如下,可以两台电脑相互控制。

在被控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

# 先试用 xtcp 打洞,失败后尝试使用 stcp
[[visitors]]
name = "stcp-vhome"
type = "stcp"
serverName = "stcp-company"
secretKey = "liangtao1996"
bindPort = -1

[[visitors]]
name = "xtcp-vhome"
type = "xtcp"
serverName = "xtcp-company"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
fallbackTo = "stcp-vhome"
fallbackTimeoutMs = 200
# stcp、xtcp 客户端配置完毕

# 配置本地的端口接听
[[proxies]]
name = "xtcp-home"
type = "xtcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389

[[proxies]]
name = "stcp-home"
type = "stcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389
# 配置本地的端口接听结束

在控制的电脑上配置 frpc

frpc.toml 文件修改如下:

# 服务器 ip 与端口配置
serverAddr = "139.224.227.14"
serverPort = 6666

# 服务器 token 配置
auth.method = "token"
auth.token = "aaaaa"

# 先试用 xtcp 打洞,失败后尝试使用 stcp
[[visitors]]
name = "stcp-vcompany"
type = "stcp"
serverName = "stcp-home"
secretKey = "liangtao1996"
bindPort = -1

[[visitors]]
name = "xtcp-vcompany"
type = "xtcp"
serverName = "xtcp-home"
secretKey = "liangtao1996"
bindAddr = "127.0.0.1"
bindPort = 6000
fallbackTo = "stcp-vcompany"
fallbackTimeoutMs = 200
# stcp、xtcp 客户端配置完毕

# 配置本地的端口接听
[[proxies]]
name = "xtcp-company"
type = "xtcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389

[[proxies]]
name = "stcp-company"
type = "stcp"
secretKey = "liangtao1996"
localIP = "127.0.0.1"
localPort = 3389
# 配置本地的端口接听结束

在 windows 上配置 frpc 自启动

建议将 frpc.exe 添加到防火墙的忽略文件中

 点击「病毒和威胁防护」=>「管理设置」

点击「添加或删除排除项」=> 「添加排除项」

设置自启动

过程如下:

1. win 键,输入 任务计划程序

2. 点击 操作 => 创建任务

3. 名称填 frpc
   选择 不管用户是否登录都有运行(W)
   		勾选 不存储密码(P)。该任务只有访问本地计算机资源的权限。
   勾选 使用最高权限运行(I)
   勾选 隐藏(E) 配置(C):Windows 10
   
4. 点击 触发器
   点击 新建(N)
   开始任务(G):启动时
   勾选延迟任务时间(K):30秒
   点击 确定
   
5. 点击 操作
   点击 新建(N)
   程序或脚本(P):
   填写或选择路径为:C:\frp\start.bat
   起始于(可选)(T):填写目录为 C:\frp
   
6. 点击 条件
   勾选 只有在计算机使用交流电源时才启动此任务(P)
   		勾选 如果计算机改用电池电源,则停止(B)
   勾选 只有在以下网络连接可用时才启动(Y)
   		任何连接
   		
   		点击 确定

设置好后,重启电脑,即可在任务管理器中看到 frpc 正在运行中;

frps.toml 以及 frpc.toml 参考

# frpc.toml 参考
https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml

# frps.toml 参考
https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/422559.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能基础——模型部分:模型介绍、模型训练和模型微调 !!

文章目录 前言 一、什么是模型 二、什么是模型训练 三、什么是模型微调 前言 本文将从什么是模型?什么是模型训练?什么是模型微调?三个问题,来展开介绍人工智能基础的模型部分。 模型族谱 一、什么是模型 模型是一个函数&#x…

set和multiset

1. set基本概念 简介: 所有元素都会在插入时自动被排序 本质: set/multiset属于关联式容器,底层结构是用二叉树实现。 set和multiset区别: set不允许容器中有重复的元素 multiset允许容器中有重复的元素 2. set构造和赋值 功能描述…

MySql安全加固:配置不同用户不同账号禁止使用旧密码禁止MySql进程管理员权限

MySql安全加固:配置不同用户不同账号&禁止使用旧密码&禁止MySql进程管理员权限 1.1 检查是否配置不同用户不同账号1.2 检查是否禁止使用旧密码1.3 禁止MySql进程管理员权限 💖The Begin💖点点关注,收藏不迷路&#x1f496…

uview2中上传文件和若依前后端分离配合的代码

uview2中的上传文件需要配合着自己后端的上传的代码 uview2 代码: uploadFilePromise(url) {return new Promise((resolve, reject) > {// 后续自己封装let a uni.uploadFile({//自己的请求路径url: that.$baseURL /uploadAvater, //上传的文件filePath: tha…

4.1.CVAT——目标检测的标注详细步骤

文章目录 1. 进入任务1. 创建任务2. 已创建的task3. 进入标注界面 2. 选择标注类型2.1 选择标注类型2.2 进行标注2.3 遮挡 2.快捷键3.导出标注结果 1. 进入任务 登录后会看到如下图界面,CVAT的标注最小单位是Task,每个Task为一个标注任务。点击Task按钮…

数据安全无忧,SQL Server 2014数据库定时备份解密

一、为什么要执行数据库定时备份 在SQL Server数据库中,完整备份和差异备份是常见的备份策略组合。它们的目的是提供数据的备份和恢复能力,以确保数据的可靠性和可恢复性。 完整备份(Full Backup) 完整备份是对整个数据库进行备份…

为什么要在业务系统中引入大宽表?

在高度系统化驱动的业务中,查看业务报表已经是一个很常见的需求了。在分工非常明确的大型企业里,往往有专门的数据分析团队 BI 或者数据开发团队,他们能够胜任此类需求(但也未必是轻松的,或者说高效的)。 …

‘conda‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

如果你在运行 conda 命令时收到了 ‘conda’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 的错误消息,这可能意味着 Anaconda 并没有正确地添加到你的系统路径中。 1.你可以尝试手动添加 Anaconda 到系统路径中。以下是在 Windows 系统上添加…

前端按钮动画

效果示例 代码示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevic…

自测-2 素数对猜想

文章预览&#xff1a; 题目算法 题目 算法 本题用python写不能用一般的算法去求会超时&#xff0c;应该采用欧拉素数筛选法去求&#xff0c;算法复杂度为O&#xff08;n&#xff09;比其他的算法优秀的多&#xff0c; 算法思想: &#xff08;1&#xff09;我们安排一个数组或者…

AJAX 学习笔记(Day1)

「写在前面」 本文为黑马程序员 AJAX 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。 目录 0 课程介绍 1 AJAX 入门 1.1 AJAX 概念和 axios 使用 1.2 认识 URL 1.3 URL 查询参数 1.4 常用请求方法和数据提交 1.5 HT…

华为笔记本自带windows11如何改为win10

目录 一、前言 二、遇到问题 三、问题解决 一、前言 新购买的华为笔记本电脑自带windows11系统&#xff0c;虽然是正版系统&#xff0c;但还是希望能重新装Windows10版本。一是我已经习惯此系统&#xff0c;二是该系统上运行的开发工具比较稳定。 二、遇到问题 说干就干&…

idea,pycharm等的ai assistant已成功激活,可以提高写代码的效率了

ai assistant成功激活了&#xff0c;可以提高写代码的效率了 https://web.52shizhan.cn/activate https://web.52shizhan.cn/activity/ai-assistant 你不妨也试试 激活成功后如图

【玩转pandas系列】pandas数据结构—DataFrame

文章目录 前言一、DataFrame创建1.1 字典创建1.2 NumPy二维数组创建 二、DataFrame切片2.1 行切片2.2 列切片2.3 行列切片 三、DataFrame运算3.1 DataFrame和标量的运算3.2 DataFrame之间的运算3.3 Series和DataFrame之间的运算 四、DataFrame多层次索引4.1 多层次索引构造1.隐…

Django 官网项目 四

内容&#xff1a; 利用HTTP的post方法&#xff0c;更改数据并显示。 创建detail.html文件&#xff0c;来创建POST内容 修改应用的视图文件views.py&#xff0c;vote方法 修改应用的视图文件views.py&#xff0c;results方法。 创建results.html文件。 结果&#xff1a;单…

【NR 定位】3GPP NR Positioning 5G定位标准解读(一)

1. 3GPP规划下的5G技术演进 根据3GPP的规划&#xff0c;5G技术演进被分为两个阶段&#xff0c;Rel-15/16/17这三个版本称为5G演进的第一阶段&#xff0c;之后的Rel-18/19/20这三个版本称为5G演进的第二轮创新&#xff0c;也就是5G Advanced。 在5G演进的第一阶段中&#xff0…

03-JNI 类型和数据结构

上一篇&#xff1a; 02-设计概述 本章讨论 JNI 如何将 Java 类型映射为本地 C 类型。 3.1 原始类型 下表描述了 Java 原始类型及其与机器相关的本地等价类型。 为方便起见&#xff0c;定义如下&#xff1a; #define JNI_FALSE 0 #define JNI_TRUE 1 jsize 整数类型用于描述…

【Vue3】PostCss 适配

px 固定的单位&#xff0c;不会进行自适应。rem r root font-size16px 1rem16px&#xff0c;但是需要手动进行单位的换算vw vh 相对于视口的尺寸&#xff0c;不同于百分比&#xff08;相对于父元素的尺寸&#xff09;375屏幕 1vw 3.75px 利用插件进行 px&#xff08;设计稿&…

1209. 带分数 刷题笔记

思路 暴力匹配 读入目标数 n 看n是否与ab/c相等 因为c里面的除法是整除 我们将 nab/c 转换为 c*na*cb 那么如何获得a,b&#xff0c;c 依题意 a&#xff0c;b&#xff0c;c三个数由1-9九个数字组成 且每个数字只能出现一次 由此 我们可以搜出123456789的全部排列方式…

加密与安全_探索口令加密算法(PBE)

文章目录 概述疑问PBE 算法 &#xff08; Password Based Encryption&#xff09;CodePOM实现 小结 概述 加密与安全_探索对称加密算法中我们提到AES加密密钥长度是固定的128/192/256位&#xff0c;而不是我们用WinZip/WinRAR那样&#xff0c;随便输入几位都可以。 这是因为对…