当前位置: 首页 > news >正文

frp搭建ssh内网穿透

frp软件包下载

检查外网服务器架构

uname -i

在这里插入图片描述

官网下载对应的版本

https://github.com/fatedier/frp/releases

使用wget或拷贝文件到外网服务器/opt目录下并解压

解压得到frp_0.59.0_linux_amd64文件夹

tar -zxvf frp_0.59.0_linux_amd64.tar.gz

在这里插入图片描述
在这里插入图片描述

  • frpc
    这是 frp 的客户端可执行文件。
    用于在客户端机器上运行,建立与 frp 服务器的连接。
    负责将本地服务暴露到公网。
  • frpc.toml
    这是 frp 客户端的配置文件。
    使用 TOML 格式编写。
    包含客户端的设置,如服务器地址、认证信息、需要暴露的本地服务等。
  • frps
    这是 frp 的服务器端可执行文件。
    运行在具有公网 IP 的服务器上。
    负责接收来自 frpc 的连接并转发流量。
  • frps.toml
    这是 frp 服务器端的配置文件。
    同样使用 TOML 格式。
    包含服务器的设置,如监听端口、认证方式、允许的协议等。
  • LICENSE
    这是软件的许可证文件。
    包含软件的使用、分发和修改条款。
    frp 使用 Apache License 2.0,这是一个开源许可证。

所以在外网的服务器配置这里,我们只用frpsfrps.toml这两个文件就行

外网服务器配置

修改外网frps.toml配置

nano frps.toml

配置信息如下:

# 【必填】这是你frps服务的端口
bindPort = 7000# 【建议必填】认证设置(强烈建议)
auth.token = "X9f$p2KlZ7*vB3@qR7nJ3^wY5"# 【可选】允许的端口范围(可选)
allowPorts = [{ start = 6000, end = 7000 },{ single = 80 },{ single = 443 }
]

在这里插入图片描述

修改完成后执行校验

./frps verify -c ./frps.toml

在这里插入图片描述
(显示 is ok 就表示形式上没问题了,只是形式上,可能还会存在其他问题。)

编写systemd服务

这个时候你可以使用nohup启动服务了,但是这样非常的脆弱,不优雅。推荐使用systemd启动,官网也是这么推荐的。https://gofrp.org/zh-cn/docs/setup/systemd/

sudo vim /etc/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp_0.59.0_linux_amd64/frps -c /opt/frp_0.59.0_linux_amd64/frps.toml[Install]
WantedBy=multi-user.target

注意这里的ExecStart对应你的运行指令
在这里插入图片描述
保存编辑后,重新加载 systemd 配置:

sudo systemctl daemon-reload

尝试启动服务:

sudo systemctl start frps

检查状态:

sudo systemctl status frps

出现这个就对了
在这里插入图片描述

内网服务器配置

检查内网服务器架构

uname -i

在这里插入图片描述
和外网服务器架构一样都是AMD架构,复用之前的文件,因为有些内网用户不是root,比如我这里内网的用户是baijs,于是我拷贝到了/home/baijs/opt/frp下面的目录,你是root用户的话,建议还是和外网服务器一样,放在/opt下面

拷贝frpc文件

创建我们家目录下的opt/frp

mkdir -p ~/opt/frp/

拷贝文件到这里
在这里插入图片描述
在这里插入图片描述
内网服务器是客户端,于是,接下来我们修改frpc.toml

修改frpc.toml

vim ~/opt/frp/frp_0.59.0_linux_amd64/frpc.toml

serverAddr填写你的外网服务器的IP
auth.token = “X9f$p2KlZ7*vB3@qR7nJ3^wY5” | 这里的token和你外网写的一致

serverAddr = "121.55.55.55"
serverPort = 7000
auth.token = "X9f$p2KlZ7*vB3@qR7nJ3^wY5"[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6999

校验

./frpc verify -c ./frpc.toml

在这里插入图片描述

编写systemd服务

vim /etc/systemd/system/frpc.service
[Unit]
Description=frp client
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/baijs/opt/frp/frp_0.59.0_linux_amd64/frpc -c /home/baijs/opt/frp/frp_0.59.0_linux_amd64/frpc.toml[Install]
WantedBy=multi-user.target

在这里插入图片描述
保存编辑后,重新加载 systemd 配置:

sudo systemctl daemon-reload

尝试启动服务:

sudo systemctl start frpc

检查状态:

sudo systemctl status frpc

出现这个就对了
在这里插入图片描述
然后我们通过外网121.55.55.55:6999就可以SSH连接到内网的22端口了

http://www.lryc.cn/news/409554.html

相关文章:

  • OpenCV库学习之cv2.normalize函数
  • LINUX操作系统安全
  • vue3.0学习笔记(三)——计算属性、监听器、ref属性、组件通信
  • Elasticsearch面试三道题
  • 大厂面经:大疆嵌入式面试题及参考答案(4万字长文:持续更新)
  • 数据结构【有头双向链表】
  • docker 安装jenkins详细步骤教程
  • C++模板函数
  • c#中的正则表达式和日期的使用(超全)
  • 论文阅读【检测】:商汤 ICLR2021 | Deformable DETR
  • dpdk发送udp报文
  • 网站后端管理和构建java项目的工具-Maven
  • 深入理解计算机系统 CSAPP 家庭作业11.10
  • Unity3D 二进制序列化器详解
  • js_拳皇(上)
  • TCP请求如何获取客户端真实源IP地址
  • 【b站-湖科大教书匠】6 应用层 - 计算机网络微课堂
  • QT串口和数据库通信
  • WebKitWebKit简介及工作流程
  • 架构分析(CPU:ARM vs RISC-V)
  • 使用 Docker Compose 部署 RabbitMQ 的一些经验与踩坑记录
  • 前端八股速通(持续更新中...)
  • 【语音识别和生成】语音识别和语音合成技术
  • Redis#架构师面试题
  • 关于#define的使用方法总结
  • Unity顶点动画(Vertex Animation):创造动态视觉效果
  • WSL for Windows
  • Matlab freqz 代码简单实现
  • 待办app哪款好?高效待办软件推荐
  • 【OSCP系列】OSCP靶机-BTRsys-2.1(原创)