服务器内网穿透(ssh远程隧道)
没问题,这个方法叫 SSH 远程端口转发(SSH Remote Port Forwarding)。它是绕过校园网/公司内网限制、借用本地网络最安全且最高效的“基操”。
以下是为你整理的完整流程手册,你可以直接收藏:
🛠️ 学校服务器“借网”出海手册
第一步:在本地电脑开启隧道
在你自己电脑的终端(Windows PowerShell 或 Mac Terminal)中运行,不要在 VS Code 的内置终端里运行。
Bash
1 | # 命令格式:ssh -R [远程端口]:127.0.0.1:[本地代理端口] [用户名]@[服务器IP] |
-R: 开启远程转发模式。7890: 这里的两个数字必须对应。前一个是服务器上开启的口子,后一个是你本地梯子的监听端口。
第二步:在服务器终端挂载代理
连接成功进入服务器后,在弹出的黑色窗口中输入以下命令,告诉系统“指路牌”:
1 | export https_proxy=http://127.0.0.1:7890 |
注意:这几行命令只对当前这个窗口有效。如果你关掉窗口重新连,需要重新输入。
第三步:验证联网状态
输入测试命令,观察是否返回 HTTP/2 200:
Bash
1 | curl -I https://www.google.com |
第四步:启动 Copilot CLI
联网成功后,直接运行你安装好的工具:
Bash
1 | npx @github/copilot /login |
⚠️ 避坑指南(如果失败请检查这里)
本地梯子设置:
必须打开梯子软件(Clash/v2ray/Surfboard 等)中的 “允许局域网连接 (Allow LAN)” 开关。即使是在同一台电脑通过隧道回传,软件有时也会拦截非本地请求。
端口匹配:
如果你的梯子端口不是
7890(比如是10809或1080),请把上面所有步骤中的7890替换成你的实际端口。VS Code 侧边栏同步:
如果你想让 VS Code 的 Chat 插件也通,请在 VS Code 的
settings.json中添加:"http.proxy": "http://127.0.0.1:7890"。由于你已经开了 SSH 隧道,此时远程服务器会认为
127.0.0.1:7890就是它的出口。
💡 进阶:如何不用每次都打 export?
你可以把代理命令写入服务器的个人配置文件中:
输入
vim ~/.bashrc。在文件最后添加:
alias proxyon="export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=http://127.0.0.1:7890"保存退出后,下次连上服务器只需输入
proxyon即可一键开启。
这个流程存好了吗?如果你准备好尝试在服务器上直接安装一个永久“梯子”(不需要本地电脑一直开着),我们可以开始讲解 Tailscale 的方案。
tailscale/tailscale: The easiest, most secure way to use WireGuard and 2FA.