开源了一个小工具: claude-ssh-proxy,让内网服务器也能用 Claude Code CLI
日常开发中经常需要 SSH 到内网的 Linux 服务器上干活,但这些服务器没有外网访问权限,Claude Code CLI 自然也连不上 Anthropic API 。
琢磨了一下,发现可以利用 SSH 反向隧道解决这个问题——SSH 连接时顺带把本地 Mac 上的 API 代理端口"带过去",远程服务器通过 localhost 就能访问 API 。
于是封装成了一个工具包 claude-ssh-proxy,一条命令搞定:
claude-ssh user@内网服务器
自动完成:启动本地代理 → SSH 连接 → 建立反向隧道 → 配置远程环境变量。进去之后直接 claude 就能用。
特性:
- 纯 Shell + Node.js 源码,零编译,无二进制依赖
- 完整支持 SSE 流式输出
- 一个代理可同时服务多条 SSH 隧道
- 支持 token 鉴权(团队共用)
- 支持离线安装 Claude Code 到无外网服务器
原理:
远程内网服务器 开发者 Mac
┌─────────────────────┐ ┌──────────────────────┐
│ Claude Code CLI │ │ API Proxy (:18080) │
│ ↓ │ │ ↓ │
│ localhost:18080 ──┼── SSH-R ──┼→ 127.0.0.1:18080 │
│ │ tunnel │ ↓ │
└─────────────────────┘ │ api.anthropic.com │
└──────────────────────┘
```
GitHub: https://github.com/Heliner/claude-ssh-proxy
前置要求只需要两端都有 Node.js >= 18 。欢迎试用和反馈。