通过SSH实现将本地端口反向代理到公网服务器

博客介绍了将本地服务反向代理到公网服务器,以实现通过公网服务器访问内网资源的方法。使用场景为公网服务器资源低,本地闲置电脑配置好但无公网IP。配置条件是有公网服务器且本地设备能连到它,可通过SSH反向隧道实现,还给出了语法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用场景

  • 有一台公网服务器,能够对外开放服务进行访问,但是这个公网服务器资源较低,无法运行太多服务

  • 有一台闲置电脑可以全天候开机使用,且配置较好,可以部署多个服务,但是没有公网IP

  • 需求:将本地的服务反向代理到公网服务器,以实现通过公网服务器访问内网资源

配置条件

  • 必须有一台公网服务器
  • 本地设备能够连到公网服务器

配置方法

可以通过SSH反向隧道实现,具体如下

语法

ssh -NfR ${公网端口}:${本地地址}:${本地端口} ${公网服务器用户名}@${公网服务器地址}

如果你的SSH端口不是22,请使用-p参数指定SSH端口

示例

假设我需要将本地localhost3003端口映射到远程119.1.2.35007端口,则使用下面的命令

ssh -NfR 5007:localhost:3003 user@119.1.2.3

回车之后,输入SSH连接密码即可

配置完成就可以通过119.1.2.3:5007访问到localhost:3003,此时再配置公网服务器的反向代理,即可通过公网的http端口访问本地端口了

<think>嗯,用户想了解如何通过云主机中继实现外地访问本地内网。他们提到了两种方法:使用FRP和SSH隧道。首先,我得确认自己理解这两个技术的原理和步骤。 用户可能对网络知识有一定了解,但可能不太清楚具体配置步骤。需要分步骤解释,确保清晰易懂。先考虑FRP方案,需要安装服务端和客户端,配置端口映射。然后是SSH反向隧道,这种方法可能更适合有SSH经验的用户。 要注意用户提到的云主机有固定公网IP,这是关键点。需要说明两种方法的优缺点,比如FRP更灵活,支持多种协议,而SSH隧道可能配置更简单但功能有限。 可能用户关心安全性和稳定性,所以在回答中可以提到防火墙设置、安全性措施,比如密钥认证。另外,是否需要域名?FRP可能需要配置域名解析,而SSH可能直接使用IP。 需要检查步骤是否准确,比如FRP的配置文件是否正确,端口是否正确开放。用户可能遇到的常见问题,比如端口被防火墙阻止,或者服务未启动,可以适当给出排查建议。 另外,用户可能混淆了FRP的服务端和客户端安装位置,需要明确说明云主机运行frps,本地内网运行frpc。SSH反向隧道则是本地机器主动连接到云主机,并转发端口。 最后,总结两种方案的适用场景,帮助用户根据自身情况选择。比如临时访问用SSH,长期或复杂需求用FRP。</think>外地访问本地内网可通过云主机中继实现,以下是两种主流方案的对比和实现步骤: 一、FRP方案(推荐长期使用) 1. 实现原理 通过FRP(fast reverse proxy)建立反向代理通道,将内网服务暴露到公网。 2. 部署步骤 ① 云主机端(服务端) ```bash # 下载frp wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz tar -zxvf frp_0.54.0_linux_amd64.tar.gz # 配置frps.ini [common] bind_port = 7000 # 控制端口 vhost_http_port = 8080 # HTTP服务暴露端口 ``` ② 本地内网端(客户端) ```bash # 配置frpc.ini [common] server_addr = 云主机公网IP server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 最终通过云主机6000端口访问 ``` 3. 优势特点 - 支持TCP/UDP/HTTP/HTTPS多种协议 - 可配置多服务映射 - 具备可视化监控面板(可选) 二、SSH隧道方案(适合临时使用) 1. 命令格式 ```bash ssh -NfR 云主机端口:localhost:本地端口 用户名@云主机IP ``` 示例(将本地22端口映射到云主机2222端口): ```bash ssh -NfR 2222:localhost:22 [email protected] ``` 2. 访问方式 在任意设备通过以下命令访问: ```bash ssh -p 2222 云主机用户名@云主机IP ``` 三、方案对比 | 特性 | FRP方案 | SSH隧道方案 | |-----------|----------------------|-------------------| | 连接稳定性 | 支持自动重连 | 断连后需手动重建 | | 多协议支持 | HTTP/HTTPS/TCP/UDP | 仅限TCP | | 配置复杂度 | 需双端配置 | 单命令即可 | | 适用场景 | 长期/生产环境 | 临时调试 | | 资源占用 | 约10MB内存 | 几乎无额外占用 | 四、注意事项 1. 防火墙配置 - 云主机需开放控制端口(FRP的7000端口,SSH的22端口) - 放行业务端口(示例中的6000/2222端口) 2. 安全性建议 - 使用密钥认证替代密码登录 - FRP建议启用token验证 - 限制访问IP范围 - 定期更新软件版本 3. 常见问题排查 ① 连接超时:检查云主机安全组设置 ② 拒绝访问:验证端口监听状态(netstat -tunlp) ③ 认证失败:检查密钥权限(chmod 600密钥文件) 两种方案均可实现内网穿透,建议根据使用场景选择:需要长期稳定服务选FRP方案,临时调试使用SSH隧道更便捷。实际部署时,建议先通过SSH隧道测试连通性,再部署FRP服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐公交也用券

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值