宝塔安装配置FRP
FRP(Fast Reverse Proxy)作为一款高性能的反向代理应用,能够帮助我们轻松实现内网穿透,将内网服务暴露到公网,满足远程访问、开发调试等多种需求。宝塔面板以其简洁易用的界面和强大的功能,成为众多站长和开发者管理服务器的首选工具。本文将详细介绍如何在宝塔面板中安装和配置 FRP,让你快速搭建起属于自己的内网穿透服务。
服务端
安装
配置
查看详细配置
打开服务器:防火墙
客户端
Frpc-Desktop:基于 Electron、Vue 和 TypeScript 开发,兼容 Windows、macOS 和 Linux 系统,当然也适用于 Ubuntu。https://github.com/luckjiawei/frpc-desktop
Frpee-Gui:这是一款专为 frp 客户端设计的可视化客户端https://frpee.com/gui/
sudo dpkg -i Frpc-Desktop_1.2.2_amd64.deb
安装
在Frpc-Desktop客户端中配置SFTP和SSH的内网穿透非常直观,只需通过图形界面添加对应的TCP映射规则即可。以下是详细步骤:
一、准备工作
- 确认内网服务信息:
- SSH服务:默认端口
22
,运行在本地主机(如127.0.0.1
或内网IP)。 - SFTP服务:基于SSH协议,端口与SSH相同(默认
22
),无需额外配置。
- SSH服务:默认端口
- 确认服务端配置:
- 服务端(公网服务器)已正确运行FRP,且防火墙开放了所需端口(如7000、6000等)。
- 服务端
frps.ini
中已配置token
(用于客户端认证)。
二、配置Frpc-Desktop客户端
1. 添加SSH映射
- 打开Frpc-Desktop,点击左上角“添加”按钮。
- 填写基本信息:
- 名称:自定义(如
SSH映射
)。 - 服务器地址:公网服务器IP或域名。
- 服务器端口:服务端配置的端口(默认
7000
)。 - 认证方式:选择
token
,并填入与服务端一致的token值。
- 名称:自定义(如
- 添加映射规则:
- 类型:选择
TCP
。 - 本地IP:填写内网SSH服务器IP(如
127.0.0.1
)。 - 本地端口:填写SSH端口(默认
22
)。 - 远程端口:自定义公网端口(如
6000
,需确保服务端未被占用且防火墙已放行)。
- 类型:选择
- 点击“保存”。
2. 添加SFTP映射
- 无需单独配置:SFTP与SSH共享端口,配置一次即可同时支持两者。
三、启动并验证
-
启动映射:
- 在Frpc-Desktop主界面,点击对应配置的“启动”按钮。
- 状态变为“运行中”即表示连接成功。
-
测试SSH连接:
ssh -p 6000 用户名@公网服务器IP
- 例如:
ssh -p 6000 root@1.2.3.4
- 例如:
-
测试SFTP连接:
- 使用工具(如FileZilla、WinSCP):
- 主机:公网服务器IP。
- 端口:6000(与SSH远程端口一致)。
- 协议:SFTP(SSH File Transfer Protocol)。
- 输入用户名和密码,点击连接。
- 使用工具(如FileZilla、WinSCP):
四、高级配置(可选)
1. 多用户隔离(推荐)
- 为不同用户创建独立SSH账号,并限制访问权限:
# 创建新用户 adduser sftp_user # 限制用户只能通过SFTP访问 usermod -s /sbin/nologin sftp_user
2. 自定义SSH端口(内网)
- 若内网SSH服务使用非标准端口(如
2222
):- 修改
/etc/ssh/sshd_config
中的Port
字段。 - 重启SSH服务:
systemctl restart sshd
。 - 在Frpc-Desktop中修改“本地端口”为
2222
。
- 修改
3. 安全增强
- 服务端防火墙规则(以
ufw
为例):# 开放FRP服务端端口 sudo ufw allow 7000/tcp # 开放SSH/SFTP映射的远程端口 sudo ufw allow 6000/tcp sudo ufw reload
- 禁用root登录:
- 修改
/etc/ssh/sshd_config
:PermitRootLogin no
。
- 修改
五、常见问题排查
-
连接超时:
- 检查服务端防火墙是否开放对应端口。
- 使用
telnet 公网IP 6000
测试网络连通性。
-
认证失败:
- 确认服务端和客户端的
token
一致。 - 检查SSH用户名和密码是否正确。
- 确认服务端和客户端的
-
SFTP无法上传文件:
- 检查目标目录权限是否允许写入。
- 若使用chroot限制,需确保目录结构正确。
六、配置示例截图
(此处因无法提供图片,你可参考以下描述配置界面)
- SSH映射配置:
名称: SSH 类型: TCP 本地IP: 127.0.0.1 本地端口: 22 远程端口: 6000
- SFTP映射配置:
名称: SFTP 类型: TCP 本地IP: 127.0.0.1 本地端口: 22 远程端口: 6000
通过以上配置,你可以通过公网IP和指定端口(如6000)安全访问内网的SSH和SFTP服务。如需映射多个设备,重复添加规则即可。
通过公网服务器的FRP端口访问
ssh username@公网服务器IP -p 6000