AMD云GPU + vLLM 内网穿透、外网访问、文件上传下载传输完整整合手册
目录
- 前置环境规则(AMD云核心限制)
- 两种内网穿透工具:ngrok / cpolar 完整部署教程
- Web服务外网开放(vLLM 8000 + JupyterLab 8888)
- 文件上传下载4套方案(适配无密码SSH密钥环境)
- 各传输方式速度对比、选型建议
- FTP/SFTP穿透说明(无密码环境最优选择)
- 全套避坑清单
- 完整实操工作流
一、前置环境规则(AMD Developer Cloud)
- 容器彻底禁用账号密码登录,仅支持SSH密钥鉴权;
- vLLM、JupyterLab 默认仅监听
127.0.0.1,外部网络无法直连,必须内网穿透; - 实例闲置/销毁后所有本地数据清空,隧道同步失效;
- 免费算力200卡时,链接:http://marketing.csdn.net/questions/Q2604140858304426315?utm_source=zhangfeng1133
工具总览
| 工具 | 定位 | 网络优势 | 免费版短板 | 适合人群 |
|---|---|---|---|---|
| cpolar | 国产内网穿透 | 国内节点低延迟 | 1Mbps带宽、域名24h刷新 | 国内Mac远程调用、传文件 |
| ngrok | 海外穿透工具 | 全球节点、海外访问流畅 | 国内延迟高、访问弹窗、单隧道限制 | 仅海外设备临时调试API |
二、cpolar 完整部署(国内首选)
1. 云端一键安装
bash
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
2. 绑定账号Token
容器内访问管理面板:http://127.0.0.1:9200,官网复制Authtoken完成绑定。
3. 暴露Web端口(vLLM + Jupyter)
bash
# JupyterLab 8888 网页传文件、写代码
cpolar http 8888
# vLLM 8000 大模型推理API
cpolar http 8000
输出公网地址 https://xxx.cpolar.top
- 免费:二级域名每24小时自动更换
- 付费专业版:固定域名、3~10Mbps带宽、固定TCP端口
4. 套餐价格(2026)
免费版永久;基础版99/年;专业版149/年;商业版204/年。
5. cpolar优缺点
优势
- 国内服务器,Mac访问无高延迟、无丢包;
- 免费版无强制人机验证,脚本可直接调用vLLM接口;
- 中文面板、全平台支持、同时多隧道在线;
- 支持HTTP/HTTPS/TCP/FTP专用隧道。
短板
免费带宽仅1Mbps,大文件传输速度慢;免费域名每日刷新。
三、ngrok 完整部署(海外临时调试用)
1. Debian容器安装脚本
bash
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
&& echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \
| sudo tee /etc/apt/sources.list.d/ngrok.list \
&& sudo apt update \
&& sudo apt install ngrok
安装出现
compute-artifactory.amd.com警告直接忽略,不影响安装。
2. 账号与Token配置
- 注册:https://dashboard.ngrok.com/signup(必须邮箱验证)
- 获取密钥:https://dashboard.ngrok.com/get-started/your-authtoken
- 容器执行绑定
bash
ngrok config add-authtoken 你的token
不配置Token直接启动隧道会报
ERR_NGROK_4018认证错误。
3. 启动Web隧道
bash
ngrok http 8000 # vLLM推理接口
ngrok http 8888 # Jupyter网页
成功输出:
Session Status online
Forwarding https://xxxx.ngrok-free.app -> http://localhost:8000
本地调试面板:http://127.0.0.1:4040,查看全部请求日志。
4. 本地Mac验证vLLM连通
bash
curl https://xxxx.ngrok-free.app/v1/models -H "Authorization: Bearer no-key"
返回JSON包含 deepseek-r1-14b 即代表隧道正常。
5. ngrok免费版硬性限制
- 同时仅1条在线隧道,无法同时开多个端口;
- 重启隧道域名随机变更,客户端API地址需同步修改;
- 每月1GB流量、2万次请求,超限断开;
- 外网浏览器访问强制人机验证,自动化脚本调用失败。
6. ngrok工作原理
云端客户端主动连接ngrok海外服务器,建立加密TLS双向隧道,公网请求转发至容器本地端口,数据全程加密,无需修改云防火墙/安全组。
7. ngrok适用场景
仅短期海外设备调试vLLM接口,不推荐国内传输模型、数据集文件。
四、文件上传下载4套完整方案(AMD无密码环境)
方案1:JupyterLab网页传输(最简单,无需SSH)
操作
- 打通8888端口公网隧道,打开Jupyter地址;
- 上传:顶部上传图标;下载:右键文件-Download;
- 文件夹处理:云端打包压缩
bash
# 压缩文件夹
tar -zcvf dataset.tar.gz ./my_dataset
# 解压
tar -zxvf dataset.tar.gz
优缺点
✅ 无需密钥、复用现有HTTP隧道、开箱即用
❌ 不支持文件夹直传、大文件易超时、无断点续传
适用:<500MB代码、表格、小数据集、临时取推理结果
方案2:SFTP密钥免密传输(大模型首选,FileZilla图形拖拽)
AMD仅支持SSH密钥登录,无密码,单端口22即可完成全部文件传输,避开FTP双通道坑。
步骤
- Mac本地生成免密密钥
bash
ssh-keygen -t ed25519
全程回车,不设置密钥密码,私钥路径 ~/.ssh/id_ed25519
-
创建AMD实例时,将
.pub公钥粘贴至SSH密钥输入框; -
穿透22端口TCP隧道
bash
# cpolar
cpolar tcp 22
# ngrok
ngrok tcp 22
- FileZilla配置
协议:SFTP-SSH文件传输
主机:隧道分配的TCP域名
端口:隧道端口
用户:root
登录类型:密钥文件,导入本地私钥,密码留空
优势
支持文件夹拖拽、断点续传、几十GB模型稳定传输。
方案3:Mac终端 SCP / Rsync(纯命令行自动化)
上传本地文件到云端
bash
# 单文件
scp -P 隧道端口 /本地路径 root@TCP地址:/workspace/models
# 文件夹
scp -P 隧道端口 -r /本地数据集 root@TCP地址:/workspace/dataset
云端下载大模型(rsync断点续传推荐)
bash
rsync -avz --progress --partial -e "ssh -p 隧道端口" root@TCP地址:/workspace/deepseek-r1-14b ./本地文件夹
方案4:Python静态HTTP文件服务(批量下载模型)
无需Jupyter,单独开放文件目录公网下载
bash
cd /workspace/models
python -m http.server 8001
# 新开隧道暴露8001
cpolar http 8001
浏览器直接访问公网地址批量下载权重。
四种传输方案对比表
| 方案 | 是否需要SSH密钥 | 额外隧道 | 核心适用场景 |
|---|---|---|---|
| Jupyter网页 | 否 | 复用8888 HTTP隧道 | 临时小文件、调试代码 |
| SFTP FileZilla | 是 | TCP 22隧道 | 4GB+模型、批量数据集同步 |
| SCP/Rsync终端 | 是 | TCP 22隧道 | 脚本自动同步、习惯命令行 |
| 静态HTTP文件服务 | 否 | 新建HTTP隧道 | 批量对外分发模型权重 |
五、各类传输速度实测对比
1. cpolar
- 免费版1Mbps:80~110KB/s,10GB模型3小时以上,月流量1GB上限;
- 专业版10Mbps:≈1.1MB/s,无流量限制;
- HTTP隧道比同带宽TCP-SFTP慢10%~20%(HTTPS加密开销)。
2. ngrok(国内访问)
20~100KB/s剧烈波动,跨境链路极易断连,不适合传文件。
3. Jupyter网页传输
依附cpolar/ngrok带宽,额外浏览器分片损耗,速度再降15%,不支持断点续传。
4. AMD原生直连SFTP(最优)
不使用穿透工具,直接实例原生SSH地址连接:
家庭千兆宽带38MB/s,40GB模型40分钟2小时,无第三方限速、不限流量。
速度总览表
| 传输方式 | 稳定速度 | 40GB模型耗时 | 断点续传 | 推荐度 |
|---|---|---|---|---|
| AMD原生SFTP直连 | 3~8MB/s | 40min~2h | ✅ rsync | ⭐⭐⭐⭐⭐(大模型首选) |
| cpolar专业版10Mbps TCP-SFTP | ≈1.1MB/s | 10h | ✅ | ⭐⭐⭐⭐ |
| cpolar免费TCP-SFTP | 80~110KB/s | 10h+ | ❌ | ⭐⭐ |
| cpolar免费Jupyter网页 | 70~95KB/s | 12h+ | ❌ | ⭐ |
| ngrok国内任意隧道 | 20~100KB/s波动 | 极易中断 | ❌ | 不推荐传文件 |
提速建议
- 4GB以上模型优先原生SFTP,放弃穿透工具;
- 只能用cpolar场景:传文件使用
cpolar tcp 22,不使用Jupyter网页; - 传输前打包
tar -zcvf压缩,体积减半,传输时间减半。
六、FTP与SFTP穿透说明
1. 关键结论
http 隧道无法传输FTP ,FTP/SSH数据库/远程桌面必须使用 tcp 隧道。
2. 传统FTP缺陷
双通道协议:21控制端口 + 随机高端口数据通道,仅开21隧道会出现能登录、无法上传下载,需要批量开放被动端口隧道,配置繁琐。
3. 最优替代:SFTP
仅22单端口,全加密,无随机端口问题,AMD无密码环境完美适配,推荐优先使用。
4. cpolar FTP方案
- 付费版:内置专用FTP隧道,自动配套被动端口段,一键配置;
- 免费版:手动创建多条TCP隧道,维护麻烦。
5. ngrok FTP短板
免费仅1条隧道,无法批量开端口,TCP端口每次重启随机,国内网络不稳定。
七、全场景避坑清单
ngrok专属
- 未配置authtoken启动隧道报4018;
- 免费单隧道限制,无法同时穿透8000+8888;
- 重启隧道域名变更,本地vLLM客户端需要改地址;
- 国内浏览器访问弹出人机验证,自动化调用失败。
cpolar专属
- 免费域名24小时重置,每天更新Jupyter/API地址;
- 免费1Mbps带宽+每月1GB流量,传大模型极易限速;
- 云防火墙放行9200(管理面板)、8000、8888端口。
AMD云专属
- SFTP禁止密码登录,必须选择密钥文件登录;
- 实例销毁所有数据清空,隧道同步失效;
- Jupyter大文件上传>2GB容易浏览器超时断开;
- 不及时释放实例持续消耗免费200卡时算力。
文件传输通用
- HTTP隧道不适合几十GB模型传输;
- 传统FTP配置复杂,优先SFTP;
- 大文件务必压缩后再上传下载。
八、国内用户标准完整工作流(cpolar + vLLM)
- AMD云实例启动vLLM,监听8000端口;
- 云端安装并绑定cpolar token;
- 开启两条HTTP隧道:8000(vLLM)、8888(Jupyter);
- Mac浏览器打开Jupyter公网地址,上传数据集、代码;
- 本地Mac curl / AI客户端调用cpolar 8000公网地址做推理;
- 训练完成后,使用AMD原生SFTP直连批量下载模型权重至本地。