SSH 反向隧道:快速解决服务器网络限制

当服务器因网络限制无法使用 pip, git, curl 等工具时,可使用 SSH 反向隧道将其网络流量通过你的个人电脑进行代理。

原理

在有外网的个人电脑上运行一个代理服务,然后建立一条 SSH 反向隧道,将服务器的某个端口(如 1080)转发到个人电脑的代理端口。服务器上的程序通过访问自己的 127.0.0.1:1080 端口,流量就会经由你的个人电脑访问互联网。

操作步骤
第 1 步: 个人主机 - 启动代理

首先,让你的个人电脑具备代理功能。

  1. 安装 proxy.py:

    Bash

    复制代码
    pip install proxy.py
  2. 启动代理服务 (此终端需保持运行):

    Bash

    复制代码
    proxy --hostname 127.0.0.1 --port 8888

    看到 Listening on 127.0.0.1:8888 即成功。

第 2 步: 个人主机 - 建立隧道

打开一个新终端,运行 SSH 命令建立隧道。

Bash

复制代码
ssh -f -N -R 1080:127.0.0.1:8888 user@your-server-ip
  • -R 1080:127.0.0.1:8888: 核心参数。将服务器 的 1080 端口流量,转发到本机 的 8888 端口。

  • -f: 后台运行。

  • -N: 只建立端口转发,不执行命令。

输入密码后,隧道即在后台建立。

第 3 步: 服务器 - 配置并使用代理
  1. 登录服务器。

  2. 设置代理环境变量:

    Bash

    复制代码
    export ALL_PROXY="http://127.0.0.1:1080"
    # 或者分别设置
    # export http_proxy="http://127.0.0.1:1080"
    # export https_proxy="http://127.0.0.1:1080"
  3. 验证代理:

    Bash

    复制代码
    curl https://www.google.com

    如能返回内容,说明代理成功。

  4. 执行你的命令:

    Bash

    复制代码
    uv pip install vllm
要点
  • 操作期间,第 1 步和第 2 步的两个终端窗口不能关闭。

  • 使用完毕后,关闭个人主机上的终端,并在服务器上取消代理设置以恢复原状:

    Bash

    复制代码
    unset ALL_PROXY
    # unset http_proxy
    # unset https_proxy
相关推荐
程序员清风7 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
yyuuuzz9 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
GlobalInfo9 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
数字新视界11 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
运维行者_11 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
2401_8685347811 小时前
陈冲2026年上海纽约大学全英文毕业演讲
服务器·网络
晚风吹北巷13 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
数字新视界13 小时前
信创机房动环监控技术在智能运维中的应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
不是万能的豆学长14 小时前
OpenShell项目引爆GitHub趋势
ssh·github
无足鸟ICT14 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节