【内网穿透】打洞笔记
文章目录
- 前言
- 原理阐述
- 公网ssh
- frp转发服务
- 实现
- 前提
- 第一步:
- 第二步
- 第三步
- 第四步
- 补充
- 第五步(希望隧道一直开着)
- sftp传数据(嫌云服务器上的网太慢)
前言
租了一个云服务器,想用vscode的ssh远程连接,发现有必须要有公网才能进行连接,于是又租了一个月的公网,但还是想知道有没有办法不用租公网也能实现连接,于是在大佬的帮助下成功实现,这里记录一下打洞的笔记。
云服务的镜像
linux 版本:Ubuntu20.04
–
原理阐述
什么是bash,什么是shell
使用frp进行内网穿透,让本地HTTP网站公开访问
公网ssh
ssh:SSH(Secure Shell)是一种加密的网络协议,用于在网络中传输数据。主要功能之一是提供安全且可靠的远程登录服务。
如果我是用公网来远程的话,终端里直接ssh root@公网ip 就行。
假设公网ip:45.23.13.56
ssh root@45.23.13.56
你的电脑-> sshd(22)
d:daemon,linux上的服务基本都是d结尾的
这里意思是你的电脑连上了服务器公网的22端口,22是ssh协议默认的端口号。
一般来说,也是需要云服务器开放22端口,不过一般默认开放。
frp转发服务
Frp(Fast Remote Port Forwarding)是一款高效、安全、易用的远程端口转发工具,可以在不暴露服务的情况下,通过公网访问内网中的服务。它支持多种协议,包括HTTP、HTTPS、TCP等,能够实现反向代理、内网穿透、SSH隧道等功能。
假设frp的共享公网ip221.23.13.56,外网端口号44333
ssh root@221.23.13.56 -p 44333
你的电脑 -> frp节点服务器(44333) ->(frpc客户端->sshd(22))
(frpc安装在你的linux服务器上)
不加端口号的话是连上服务器本体,会连不上。
其实这个原理是你连接到frp,frp连接到你的本地服务,然后frp当中间人给俩设备转发数据。
(注意:frp网页里的本地指的是frpc运行的本地,也就是要填127.0.0.1 端口22)
实现
前提
1。服务器linux开启ssh功能
2。目标账户root允许密码登录/你设置好了私钥登录
3。阿里云防火墙放通22端口
查看实例信息,满足1,2

私钥登录在/etc/ssh/sshd_config
里面有个premitrootlogin prohibit-password
改成yes
不改的话root不允许用密码远程登录,防止别人试你的密码的。
实例的安全组的入方向的22端口为开。(实际云服务器的话,这三者都满足。)

防火墙开启代码
# 如果报错 要你安装 你就安装 类似于 sudo apt install firewall
# 开启
firewall-cmd --zone=public --add-port=9876/tcp --permanent
# 更新
firewall-cmd --reload
# 查看 所有开放端口
firewall-cmd --list-port
步骤:
1.注册并启动一个frp服务
2.将frpc安装在你的linux云服务器上
2.启动frpc服务开启隧道
3.ssh连接
第一步:
进入frp第三方平台,注册。(https://www.natfrp.com/)
然后点击隧道列表,点击创建。

服务器都差不多,显示的都是推荐而已,我们这里要做穿透,选穿透就行。

远程端口你可以留空自动随机选一个,也可以手动指定,但是得慢慢试,很多已经被别人占用了,这里留空。
注:这里访问本地不是你自己电脑的意思 是你安装客户端frpc的位置,即你的云服务器的本地。
创建之后

点击配置文件 会出现
最上面一个框框里有一个
-f xxxxxxxx:xxxxx
这样的东西
linux上从sakurafrp下载一个frpc
然后运行
frpc -f xxxxxxxx:xxxx这条指令,就打开了隧道
第二步
安装frpc
下载地址:https://www.natfrp.com/tunnel/download 复制链接 使用wget(web get)下载
# 下载
wget https://nya.globalslb.net/natfrp/client/frpc/0.51.0-sakura-7.3/frpc_linux_amd64
# 赋予其执行权限
chmod +x frpc_linux_amd64
# 移动move至/usr/local/bin目录下 确保所有用户都能访问它
sudo mv frpc_linux_amd64 /usr/local/bin/frpc
# 确认安装完毕
frpc --version
第三步
运行第一步获取到的信息
frpc -f xxxxxxxx:xxxx
即启动成功,
会告诉你

开启成功后,隧道列表也会显示绿标表示开启成功
第四步
就可以在终端ssh成功
-p 表示端口号
ssh root@221.23.13.56 -p 44333
如果是在vscode上实现ssh远程
即左下角ssh 添加新的ssh主机
ssh root@221.23.13.56 -p 44333 -A
补充
若是
第五步(希望隧道一直开着)
我们希望隧道一直开着
使用supervisor将这个进程挂后台
supervisor:管理和控制进程的工具,开机会自启动
# 1.安装
sudo apt-get install supervisor
# 2.创建 Supervisor 配置文件:在 /etc/supervisor/conf.d/ 目录下创建一个新的配置文件,例如 my_process.conf。
sudo nano /etc/supervisor/conf.d/my_process.conf
3.配置Supervisor
[program:my_process]
command=/usr/local/bin/frpc -f xxxxxxxx:xxxx
directory=/root/
autostart=true
autorestart=true
stderr_logfile=/var/log/my_process.err.log
stdout_logfile=/var/log/my_process.out.log
user=root
解释:
command:你要运行的命令。
directory:命令运行的工作目录。
autostart:是否在 Supervisor 启动时自动启动该进程。
autorestart:进程崩溃后是否自动重启。
stderr_logfile 和 stdout_logfile:日志文件路径。
user:运行进程的用户。
# 4.更新 Supervisor 配置
sudo supervisorctl reread
sudo supervisorctl update
# 5.启动进程
sudo supervisorctl start my_process
# 6.监控进程
sudo supervisorctl status
这样就可以使得可以一直用隧道的公网IP直接在vscode上远程了。
如图:

sftp传数据(嫌云服务器上的网太慢)
有时候我们嫌云云服务器上的网太慢 例微软的网站或者github上网站下东西太慢。
SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,通常用于在本地计算机和远程服务器之间安全地复制文件。
终端上sftp
# 连接云服务器
sftp root@xxx.xxx.xxx.xxx -p 44333
# 上传
put "E:\Users\REM2\Downloads\rocketmq-client-cpp-2.2.0.amd64.deb" /root/
put 是上传
第一个是本地的文件的地址
第二个是云服务器上文件夹地址
即可上传
例: [==================================>] 4.60M 1.62MB/s in 2.8s
相关文章:
【内网穿透】打洞笔记
文章目录 前言原理阐述公网sshfrp转发服务 实现前提第一步:第二步第三步第四步 补充第五步(希望隧道一直开着)sftp传数据(嫌云服务器上的网太慢) 前言 租了一个云服务器,想用vscode的ssh远程连接ÿ…...
第59期|GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…...
算法2--贪心算法
1.老鼠和猫的交易 小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆。 仓库有N个房间; 第i个房间有 J[i] 磅的五香豆,并且需要用 F[i] 磅的猫粮去交换; 老鼠不必交换该房间所有的五…...
本地部署 EVE: Unveiling Encoder-Free Vision-Language Models
本地部署 EVE: Unveiling Encoder-Free Vision-Language Models 0. 引言1. 快速开始2. 运行 Demo 0. 引言 EVE (Encoder-free Vision-language model) 是一种创新的多模态 AI 模型,主要特点是去除了传统视觉语言模型中的视觉编码器。 核心创新 架构创新ÿ…...
阿里云CDN- https(设计支付宝春节开奖业务)
HTTP相关概念 1. HTTP概述 http是最广泛的网络协议,是客户端与服务器之间的请求与应答的标准(TCP),用于www服务器传输超文本到本地浏览器的传输协议,使浏览器更加高效,网络传输减少。 2.HTTPS概述 http…...
为何众多卖家选择加入亚马逊VC平台?他们的决策依据是什么?
众多卖家选择加入亚马逊VC平台,其背后蕴含着深思熟虑的决策逻辑。亚马逊VC平台作为一个专门为品牌供应商打造的销售平台,具有一系列独特且引人注目的优势。 首先,VC平台为卖家提供了品牌控制力的增强。在这个平台上,卖家能够更直接…...
Windows与Linux双机热备软件推荐
网络数据安全在如今信息化的时代越来越变得举足轻重,因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员,一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…...
Mysql基础与安装
一、数据库的概念和相关的语法和规范 1、数据库的概念 数据库:组织,存储,管理数据的仓库。 数据库的管理系统(DBMS):实现对数据有效组织,管理和存取的系统软件。 数据库的种类: m…...
线程的死锁和并发安全
在多线程编程中,线程的死锁和并发安全是两个重要的概念。理解这两个概念并正确地管理它们,对于编写高效且可靠的并发程序至关重要。 线程的死锁 死锁(Deadlock) 是指两个或多个线程相互等待对方释放已经持有的资源,导…...
docker 启动提示can not create sys fs cgroup cpuset....问题处理
docker 启动失败 报错 大概报错内容为 cgroup :no such file can not create /sys/fs/cgroup/cpuset … 问题是因为 /sys/fs/cgroup/ 没有被正确挂载 cgroup 是实现资源限制的工具 docker 能够进行限制cpu 内存 大小 依赖cgroup ll /sys/fs/cgroup/ 发现一个都系也没有 m…...
[C/C++入门][ifelse]19、制作一个简单计算器
简单的方法 我们将假设用户输入两个数字和一个运算符(、-、*、/),然后根据所选的运算符执行相应的操作。 #include <iostream> using namespace std;int main() {double num1, num2;char op;cout << "输入 (,-,*,/): &quo…...
API取数实战:企业微信API取数教程
在数字化时代,企业微信不仅是一个通讯工具,更是企业数字化转型的重要平台。通过企业微信,企业能够高效连接员工、客户与合作伙伴,实现内部流程的自动化和智能化。本文将介绍企业微信API的应用场景和应用难点,并提供企业…...
AI算法18-最小角回归算法Least Angle Regression | LARS
最小角回归算法简介 最小角回归(Least Angle Regression, LAR)是一种用于回归分析的统计方法,它在某些方面类似于最小二乘回归,但提供了一些额外的优点。最小角回归由Bradley Efron等人提出,主要用于处理具有…...
wordpress 调用另外一个网站的内容 按指定关键词调用
要在WordPress中调用另一个网站的内容并根据指定关键词进行筛选,你可以使用以下代码。这段代码使用了WordPress内置的wp_remote_get函数来获取远程网站的内容,然后使用PHP的DOMDocument和DOMXPath类来解析HTML并筛选出包含指定关键词的内容。 首先&…...
kotlin数据类型
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 Kotlin基本数值类型 基本数据类型包括 Byte、Short、Int、Long、Float、Double 整数类型 类型位宽最小值最大…...
[GWCTF 2019]babyvm
第一次接触VM逆向 先粘一下对我很有帮助的两篇佬的博客 系统学习vm虚拟机逆向_vmp 虚拟机代码逆向-CSDN博客 这篇去学习vm逆向到底是什么 我的浅显理解啊,就是和汇编的定义差不多,规定一个函数,用什么其他的名字 然后这道题 [GWCTF 2019]babyvm 详解 (vm逆向 …...
PyTorch论文
2019-12 PyTorch: An Imperative Style, High-Performance Deep Learning Library 设计迎合4大趋势: 1. array-based (Tensor) 2. GPU加速 3. 自动求导 (Auto Differentiation) 4. 拥抱Python生态 4大设计原则: 1. 使用算法和数据开发者熟悉的Python做编…...
【Python实战因果推断】37_双重差分8
目录 Diff-in-Diff with Covariates Diff-in-Diff with Covariates 您需要学习的 DID 的另一个变量是如何在模型中包含干预前协变量。这在您怀疑平行趋势不成立,但条件平行趋势成立的情况下非常有用: 考虑这种情况:您拥有与之前相同的营销数…...
【python学习】第三方库之matplotlib的定义、功能、使用场景和代码示例(线图、直方图、散点图)
引言 Matplotlib 是一个 Python 的 2D 绘图库,它可以在各种平台上以各种硬拷贝格式和交互环境生成具有出版品质的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图、直方图、功率谱、条形图、错误图、散点图等 Matplotlib 是 …...
MySQL(3)表的操作
目录 1. 表的操作; 2. 数据类型; 1. 表的操作: 1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表…...
3个核心优势:为什么Robo 3T仍然是MongoDB开发者的首选工具
3个核心优势:为什么Robo 3T仍然是MongoDB开发者的首选工具 【免费下载链接】robomongo Native cross-platform MongoDB management tool 项目地址: https://gitcode.com/gh_mirrors/ro/robomongo 还在为MongoDB的命令行操作感到困扰?想象一下&…...
用一台旧笔记本和朋友联机玩《我的世界》Fear Nightfall整合包,保姆级开服教程(含SakuraFrp配置)
用旧笔记本搭建《我的世界》Fear Nightfall联机服务器的完整指南 1. 为什么选择旧笔记本作为服务器主机? 对于许多《我的世界》玩家来说,和朋友一起体验大型整合包是件令人兴奋的事,但租用云服务器的高昂成本往往让人望而却步。实际上&…...
新手避坑指南:用DFS软件读取安卓手机MEID和串码,手把手教你识别端口与驱动(附高低版本对比)
安卓设备底层参数读取实战:从端口识别到安全操作的完整指南 当第一次打开DFS这类专业工具时,许多安卓设备爱好者都会被满屏的专业术语和复杂界面吓退。901D、COM3、QC Diag…这些看似简单的端口名称背后,隐藏着芯片组、系统版本和驱动兼容性的…...
ComfyUI Manager 架构设计与性能优化:从插件管理到系统集成的完整解决方案
ComfyUI Manager 架构设计与性能优化:从插件管理到系统集成的完整解决方案 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and e…...
《Windows Sysinternals实战指南》PsTools 学习笔记(7.10):PsFile——远程“谁在占用这个文件/共享”的取证与解占用
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
2026年第六届FIC全国网络空间取证大赛-初赛详细版Writeup(服务器+互联网+二进制)
2026年第六届FIC全国网络空间取证大赛-初赛详细版Writeup(服务器互联网二进制) 前言:服务器:1. 该服务器主机操作系统版本为2. 该服务器根分区硬盘的uuid号为3. 该服务器中最新的docker镜像创建时间为4. 该服务器根分区快照路径为…...
手把手教你用STM32的编码器模式,精准读取JGB37-520电机转速(附TB6612驱动配置)
基于STM32编码器模式实现JGB37-520电机闭环控制实战指南 在智能硬件开发领域,精确控制电机转速和位置是实现高质量运动控制的基础。JGB37-520作为一款带有霍尔编码器的减速电机,配合TB6612驱动模块,可以构建完整的闭环控制系统。本文将深入解…...
vim入门配置教程
Vim 最简配置教程(新手直接抄) 1. 找到配置文件 Linux/Mac/WSL vim ~/.vimrcWindows 文件路径:C:\Users\用户名\_vimrc 2. 直接粘贴通用好用配置 " 基础设置 set number " 显示行号 set relativenumber " 相对行号 …...
告别HDR格式混乱:用Python代码实战HLG与PQ曲线互转(附完整代码)
告别HDR格式混乱:用Python代码实战HLG与PQ曲线互转(附完整代码) 在视频处理领域,HDR(高动态范围)技术已经成为提升视觉体验的关键要素。然而,HLG(Hybrid Log-Gamma)和PQ&…...
3分钟学会B站缓存视频转换:m4s转MP4完整指南
3分钟学会B站缓存视频转换:m4s转MP4完整指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否遇到过这样的困扰?在B…...
