服务器管理

FinalShell 端口转发不难,手把手教你搞定异地访问!

2026-08-05 · FinalShell

FinalShell 端口转发不难,手把手教你搞定异地访问! 配图

昨天我同事突然问我,有没有办法在家远程访问他在公司测试服务器上跑的一个服务,那个服务只对内网开放,路由器又不方便动。我一听,这不就是 FinalShell 端口转发的拿手好戏吗?正好借这个机会,跟大家分享一下我是怎么几分钟搞定的,让你也能轻松实现异地访问内网设备。

简单来说,端口转发就是通过一台中间服务器(这台服务器需要有公网IP,且你能用 FinalShell 连接),把本来只能在内网访问的服务,“借道”出来,让你从外部也能访问。这就像给你的内网服务开了一条专属的“秘密通道”,既安全又方便。

1. 准备工作:FinalShell 和你的服务器都得就绪

要玩转端口转发,我们需要几个前提条件:

  1. 一个能上网的 FinalShell 客户端。 推荐大家使用 FinalShell 4.7.10 这个版本,功能稳定,界面友好。如果你还没装,可以看看这篇教程:FinalShell 在 Windows 上的安装和基础配置。
  2. 一台拥有公网 IP 的远程服务器。 这台服务器是你的“跳板”,FinalShell 会通过 SSH 连接到它。确保你拥有这台服务器的 SSH 登录凭证。
  3. 一个你想从外网访问的内网服务。 比如,你家里 NAS 的网页管理界面(端口80或5000),或者公司内网某台机器上的数据库服务(如 MySQL 的3306端口)。你需要知道这个内网设备的 IP 地址和服务的端口号。

都准备好了吗?那我们开始配置!

2. 配置本地端口转发:打开通往内网的秘密通道

这里我们以最常用的“本地端口转发”为例。意思是,你在自己电脑(本地)上监听一个端口,所有发往这个端口的数据,都会通过 FinalShell 建立的 SSH 隧道,转发到你的远程服务器,再由远程服务器转发到你指定的内网目标。

  1. 打开 FinalShell 会话属性。 首先,打开你的 FinalShell 客户端,在左侧的会话列表中,右键点击你已经配置好的、能连接到公网服务器的那个会话,选择“属性”。

  2. 进入“隧道”配置界面。 在弹出的会话属性窗口,你会看到左侧有一列功能选项,向下滚动找到“隧道”或者“端口转发”一项,点击它。右侧会显示隧道的配置界面,我们选择“本地端口转发”,然后点击右下角的“新增”按钮。

    • 监听地址: 一般填 127.0.0.1,表示只在本地监听。安全起见,通常不建议填 0.0.0.0。
    • 监听端口: 本地电脑要监听的端口。比如访问内网80端口服务,本地可以选择 8080,避免冲突。记住这个端口号!
    • 目标主机: 填写你内网设备的 IP 地址,如 192.168.1.100。
    • 目标端口: 填写你想访问的内网服务端口号,如 80。
    • SSH 会话: 选择当前这个 SSH 会话即可。

    配置完成后,点击“确定”保存设置。

  3. 激活并测试你的隧道。 保存好端口转发配置后,你需要连接你的 SSH 会话。FinalShell 会在后台自动建立这个端口转发隧道。

    现在,打开你的浏览器,或者其他客户端工具,访问 http://127.0.0.1:你的本地端口(比如 http://127.0.0.1:8080)。神奇的事情发生了!你现在访问的,正是你内网设备上的那个服务。是不是很简单?

    如果你对 SSH 密钥配置感兴趣,可以参考这篇文章:FinalShell SSH 密钥配置指南。

常见问题

端口转发虽然好用,但偶尔也会遇到一些小插曲。下面是几个常见的问题和解决办法:

  1. 端口被占用?
    • 现象: FinalShell 提示本地监听端口已被占用,无法建立隧道。
    • 解决: 换一个未被占用的本地端口就行。你可以在命令行(Windows 是 CMD,Mac/Linux 是终端)里输入 netstat -ano | findstr "<你的监听端口>"(Windows)或者 lsof -i :<你的监听端口>(Mac/Linux)来检查。
  2. 连接超时或拒绝?
    • 现象: 浏览器访问 127.0.0.1:本地端口 时,显示连接超时或被拒绝。
    • 解决: 检查配置的“目标主机”IP 和“目标端口”是否正确。确认内网服务在运行,且其防火墙允许连接。另外,远程 SSH 服务器可能需要检查 SSH 配置 (/etc/ssh/sshd_config 中的 AllowTcpForwarding 选项是否为 yes)。
  3. 速度慢或者不稳定?
    • 现象: 访问内网服务时感觉卡顿,响应慢。
    • 解决: 端口转发的速度受限于本地网络、跳板服务器带宽以及跳板服务器到内网设备之间的网络状况。如果带宽不足或延迟高,会影响体验。考虑升级服务器配置或网络环境。
    • 如果需要传输大量文件,可能 FinalShell 的 SFTP 功能 会更适合你。

希望这篇教程能帮到你,以后再遇到类似的异地访问需求,就可以轻松用 FinalShell 搞定了!想要了解更多端口转发的高级技巧,可以查看这篇指南:FinalShell 端口转发高级指南。

轻松搞定端口转发

延伸阅读

若需进一步查阅,可先看本站以下教程: