使用跳板机连接校内api模型
使用跳板机连接校内 API 模型
本文记录一下我从校外环境,通过跳板机访问校内 API 模型,并接入 WorkBuddy 的完整实现过程。
成功流程总结(校外 → 跳板 → 校内 API → WorkBuddy)
整体拓扑
你的 Windows 电脑 (校外)
↓ SSH -L 8443:api.llm.ustc.edu.cn:443
跳板机 (xxx:6669)
↓ 校内网络
中科大 API 服务器 (api.llm.ustc.edu.cn:443)
WorkBuddy 发请求时,DNS 被本地 hosts 劫持到 127.0.0.1:8443,SSH 隧道将流量原封不动转发到校内 API 服务器的 443 端口,TLS SNI 和 HTTP Host 头保持不变。
步骤一:修改本地 hosts(管理员权限)
编辑 C:\Windows\System32\drivers\etc\hosts,添加一行:
127.0.0.1 api.llm.ustc.edu.cn
然后执行 ipconfig /flushdns 刷新 DNS 缓存。
目的:让 api.llm.ustc.edu.cn 解析到本地 127.0.0.1,后续 SSH 监听的 8443 才能收到流量。
步骤二:建立 SSH 本地端口转发隧道
在 Windows 终端(CMD / PowerShell / Windows Terminal)执行:
ssh -L 8443:api.llm.ustc.edu.cn:443 My-Jump -N
其中 My-Jump 是已有的 SSH 主机别名(对应 xxx:6669,密钥认证)。-N 表示不登录 shell,只维持隧道。
可选:将该配置固化到 ~/.ssh/config:
Host My-Jump
HostName xxx
Port 6669
User jump-gate
IdentityFile ~/.ssh/id_rsa
LocalForward 8443 api.llm.ustc.edu.cn:443
ServerAliveInterval 30
之后只需 ssh My-Jump -N 即可。
步骤三:验证隧道连通性(curl)
curl -X POST "https://api.llm.ustc.edu.cn:8443/v1/chat/completions" `
-H "Content-Type: application/json" `
-H "Authorization: Bearer sk-..." `
-d '{"model":"glm-5.2","messages":[{"role":"user","content":"您好"}]}'
返回正常 JSON 响应即表示隧道 + hosts 劫持均生效。
步骤四:WorkBuddy 配置自定义模型
进入 WorkBuddy → 设置 → 模型管理 → 添加自定义模型 → OpenAI 兼容。
| 配置项 | 填写内容 |
|---|---|
| API Base URL | https://api.llm.ustc.edu.cn:8443/v1 |
| API Key | sk-...(原样) |
| 模型名称 | glm-5.2 |
| 类型 | OpenAI 兼容 |
注意 Base URL 必须包含端口
:8443且必须以/v1结尾,否则路径拼接错误导致 404。
验证成功标志
WorkBuddy 对话中输入任意问题,能正常获得 deepseek-v4-pro 的回答,且网络请求走本地 8443 → SSH 隧道 → 校内 API,无额外代理配置。
附加
- 隧道窗口需保持运行,可考虑用
Start-Process隐藏窗口或改用autossh保活。 - 若校内 API 升级支持
tool_call或thinking参数,WorkBuddy 可能需要调整models.json中的supportsReasoning等开关,届时再针对性处理。 - 此方案不影响其他网络流量,仅劫持
api.llm.ustc.edu.cn域名。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 homie's Home!
评论
UtterancesWaline
