风险提示:虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,继续浏览代表你同意以上所有声明,否则请立即关闭本站!

Windows环境搭建

需要必要的组件

scoop
git
autossh

  1. 打开 PowerShell :以管理员身份打开 PowerShell(在开始菜单搜索 “PowerShell”,右键选择 “以管理员身份运行” )。
  2. 检查系统要求 :确保系统满足以下要求:

    • Windows 7 SP1+、Windows Server 2008 R2+ 。
    • PowerShell 5.1+(Windows 10 及以上版本默认满足)。
    • .NET Framework 4.5+ 。
  3. 执行安装命令 :在 PowerShell 中运行以下命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh'))

如果遇到报错,用关闭管理员用户,用普通用户打开即可。
4、安装git

scoop install git

5、添加 Scoop 存储库(如果尚未添加) :运行以下命令添加 Extras 存储库,因为autossh在 Extras 库中

scoop bucket add extras
  1. 安装 autossh :输入以下命令并回车:
scoop install autossh

7、验证安装

autossh -V

若能显示版本信息,则安装成功。

配置转发

0. 本地端口转发(Local Port Forwarding)

用途 :将本地端口的流量通过 SSH 服务器转发到远程目标主机的端口。
示例 :将本地的 8080 端口转发到 Linux 服务器的localhost:3000

ssh -L 8080:localhost:3000 user@linux-server-ip

参数说明

  • -L:表示本地转发。
  • 8080:本地监听的端口。
  • localhost:3000:目标主机(这里是 SSH 服务器自身)的地址和端口。
  • user@linux-server-ip:SSH 服务器的登录信息。

使用方式
连接成功后,访问http://localhost:8080即可访问 Linux 服务器的localhost:3000服务。

1. 在 Windows 机器上执行反向隧道命令

打开 PowerShell 或 Git Bash,运行以下命令:

ssh -R 3000:localhost:3000 [Linux用户名]@[Linux服务器IP或域名]

参数说明:

  • -R:表示反向隧道(Reverse Tunnel)。
  • 3000:localhost:3000:将 Linux 服务器的 3000 端口绑定到 Windows 本地的 3000 端口。
  • [Linux用户名]:Linux 服务器的 SSH 登录用户名(如root或普通用户)。
  • [Linux服务器IP或域名]:Linux 服务器的公网 IP 或域名。

示例

ssh -R 3000:localhost:3000 admin@192.168.1.100

2. 验证隧道是否建立

在 Linux 服务器上执行:

netstat -tulpn | grep 3000

若看到类似以下输出,则说明隧道已成功建立:

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      12345/sshd: ...

三、访问方式

在 Linux 服务器上访问localhost:3000,请求会通过 SSH 隧道转发到 Windows 机器的 3000 端口。例如:

curl http://localhost:3000

四、进阶配置(保持隧道持久化)

若希望隧道在断开连接后自动恢复,可使用autossh工具(需在 Windows 上安装):

autossh -M 0 -f -N -R 3000:localhost:3000 [Linux用户名]@[Linux服务器IP或域名]

参数说明:

  • -M 0:不使用监控端口。
  • -f:后台运行。
  • -N:不执行远程命令,仅建立隧道。

五、注意事项

  1. 防火墙限制

    • 确保 Linux 服务器的防火墙允许 22 端口(SSH)和 3000 端口的流量。
    • 若使用云服务器,需在安全组规则中开放相应端口。
  2. 端口占用

    • 确保 Linux 服务器的 3000 端口未被其他服务占用。
    • 若 Windows 机器的 3000 端口被占用,可修改为其他端口(如-R 4000:localhost:3000)。
  3. 安全建议

    • 优先使用密钥认证而非密码登录 SSH。
    • 避免使用 root 账号建立隧道,建议创建专用 SSH 用户。

通过以上步骤,你可以将本地 Linux 服务器的 3000 端口流量转发到 Windows 机器的 3000 端口,实现跨平台的端口映射。

发表评论