【内网穿透】打洞笔记

文章目录

  • 前言
  • 原理阐述
    • 公网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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】表单密码格式—校验。

如图:实现表单输入密码和确认密码的时候进行表单校验。 实现方式: 1.在代码的data里面定义,函数验证的方法。如图所示,代码如下 【代码】如下: const validatePassword (rule, value, callback) > {if (value ) {callback(n…

南京邮电大学统计学课程实验3 用EXCEL进行方差分析 指导

一、实验描述 实验目的 1、学会在计算机上利用EXCEL进行单因素方差分析; 2、学会在计算机上利用EXCEL进行无重复的双因素方差分析。 二、实验环境 实验中使用以下软件和硬件设备 (1)Windows XP操作系统; (2&am…

【启明智显分享】Model3驱动高效农业灌溉:10.1寸电阻触摸屏,RGB50pin高清接口

走出信息茧房,打破刻板印象,科技日新月异的时代,农业已经不再是传统意义上的“面朝黄土背朝天”。在现代农业管理中,科技的应用至关重要,一块高清触摸显示屏能够极大地提升农业劳动效率,实现科学的农田管理…

RTX 50系列显卡功耗信息曝光:5090型号功耗直逼500W,5060增幅显著引热议

随着NVIDIA即将推出的Blackwell RTX 50系列显卡预计在今年年底或明年年初震撼登场,业界对其性能提升的期待已然高涨,尽管AMD显卡可能难以匹敌这一飞跃。然而,在性能跃升的同时,消费者对于显卡功耗是否会进一步攀升的担忧也随之而来…

昇思25天学习打卡营第12天|Vision Transformer图像分类、SSD目标检测

Vision Transformer(ViT)简介 近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩…

git 代理错误拒绝连接

git 克隆项目拒绝连接 现象 Failed to connect to 127.0.0.1 port 15732: 拒绝连接 问题描述 代理错误解决方法 取消代理 git config --global --unset http.proxy

Windows安装Nacos【超详细图解】

目录 一、下载 Nacos 二、解压 Nacos 三、编辑配置文件 四、创建数据库 五、启动 Nacos 六、进入控制台 一、下载 Nacos Nacos v2.3.2 官方网址 二、解压 Nacos 三、编辑配置文件 主要修改数据库用户名、密码、鉴权是否开启、key value和token # # Copyright 1999-2021 …

Template execution failed: ReferenceError: name is not defined

问题 我们使用了html-webpack-plugin(webpack)进行编译html,导致的错误。 排查结果 连接地址 html-webpack-plugin版本低(2.30.1),html模板里面不能有符号,注释都不行 // var reg new RegExp((^|&)${name}([^&…

基于LAMMPS模拟岩石表面润湿性

润湿性是指不相混的两相流体与岩石固相表面接触时,其中一相流体沿着岩石表面铺开的现象,该相称为润湿相。润湿性一般采用接触角法来确定,通常根据水在固体表面的角度θ来定义系统的润湿性,接触角为0~75为水润湿&#x…

LabVIEW机器学习实现外观检测

介绍如何利用LabVIEW平台结合机器学习技术实现对被测样品的外观检测。详细说明了硬件选择、算法使用、操作步骤以及注意事项。 硬件选择 工业相机:高分辨率工业相机(如Basler、FLIR等)用于采集样品的图像。 照明设备:均匀的LED照…

C++ 多态:探索对象的动态行为

C 多态:探索对象的动态行为 在C中,多态性是一种强大的特性,它允许我们通过基类指针或引用来调用派生类的方法。多态性不仅增加了程序的灵活性,还使得代码更加易于扩展和维护。本文将深入探讨C中的多态性,包括静态多态&…

代理高并发如何去解决?

代理高并发问题的解决方法涉及多个层面,包括架构设计、资源优化、技术选型等方面。以下是一些具体的解决方案: 1. 架构设计 分布式架构: 微服务架构:将大型应用拆分为多个小型服务,每个服务独立部署、扩展和升级&…

沪金和伦敦金一致吗?什么因素在作怪?

沪金也就是上海金,是上海黄金交易所推出的一款的黄金投资理财交易品种,其交易特性与国际市场上的伦敦金相类似,二者都是采用双向式杠杆保证金交易。但它们也有不同之处,比如货币和重量的计价单位的差异,伦敦金是用美元…

汽修工厂的安全守护者!防滑耐磨劳保鞋,匠心守护你的每一步

在城市的喧嚣中,有这样一群匠人,他们手持扳手,脚踏油渍,用汗水与智慧守护着机械的脉动——他们就是汽修工人。面对飞溅的油渍、尖锐的金属部件以及不时滑动的地面,汽修工人们需要时刻保持警惕,确保工作安全…

Spring Cloud Eureka快读入门Demo

1.什么是Eureka? Eureka 由 Netflix 开发,是一种基于REST(Representational State Transfer)的服务,用于定位服务(服务注册与发现),以实现中间层服务的负载均衡和故障转移&#xff…

Java小白入门到实战应用教程-开发环境搭建-IDEA2024安装激huo详细教程

writer:eleven 安装IDEA2024 一、下载IDEA 推荐大家去官网下载 我这里也给大家直接准备了安装包,和激huo教程,大家可以自行下载使用。 注意:激huo教程只用于学习交流,不可商用。 IDEA2024安装包及激huo教程 说明&#xff1a…

HCIE之Qos(十七)

QoS 一、哪些问题会影响网络的数据传输二、QoS服务模型三、IntServ3.1 资源预留的过程分为5步3.2 资源预留方式可分为两类: 四、DiffServ五、分类和标识的方法5.1、二层标记方法5.2、三层标记方法5.2.1 传统的IPP方式 六、拥塞管理(队列技术&#xff09…

pytorch-pytorch之LSTM

目录 1. nn.LSTM2. nn.LSTMCell 1. nn.LSTM 初始化函数输入参数与RNN相同,分别是input_size,hidden_size和num_layer foward函数也与RNN类似,只不过返回值除了out外,ht变为(ht,ct) 代码见下图: 2. nn.LSTMCell 初…

【保姆级】Python项目部署到Linux生产环境(uwsgi+python+flask+nginx服务器)

1.安装python 我这里是3.9.5版本 安装依赖: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y 根据自己的需要下载对应的python版本: cd /usr/local wget https://www.python.or…

利用联邦学习和基于自动编码器模型的分布式学习架构

首先,在每个训练回合中,随机选择一个客户子集𝑚 𝑚𝑎𝑥(𝐶𝐾, 1)参加当前回合,使得 C 是被选中参与的客户的比例; 其次,每个客户端接收全局模型…