AMD云GPU + vLLM 内网穿透、外网web访问、文件上传下载传输完整整合手册

AMD云GPU + vLLM 内网穿透、外网访问、文件上传下载传输完整整合手册

目录

  1. 前置环境规则(AMD云核心限制)
  2. 两种内网穿透工具:ngrok / cpolar 完整部署教程
  3. Web服务外网开放(vLLM 8000 + JupyterLab 8888)
  4. 文件上传下载4套方案(适配无密码SSH密钥环境)
  5. 各传输方式速度对比、选型建议
  6. FTP/SFTP穿透说明(无密码环境最优选择)
  7. 全套避坑清单
  8. 完整实操工作流

一、前置环境规则(AMD Developer Cloud)

  1. 容器彻底禁用账号密码登录,仅支持SSH密钥鉴权;
  2. vLLM、JupyterLab 默认仅监听 127.0.0.1,外部网络无法直连,必须内网穿透;
  3. 实例闲置/销毁后所有本地数据清空,隧道同步失效;
  4. 免费算力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优缺点

优势

  1. 国内服务器,Mac访问无高延迟、无丢包;
  2. 免费版无强制人机验证,脚本可直接调用vLLM接口;
  3. 中文面板、全平台支持、同时多隧道在线;
  4. 支持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配置

  1. 注册:https://dashboard.ngrok.com/signup(必须邮箱验证)
  2. 获取密钥:https://dashboard.ngrok.com/get-started/your-authtoken
  3. 容器执行绑定
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. 同时仅1条在线隧道,无法同时开多个端口;
  2. 重启隧道域名随机变更,客户端API地址需同步修改;
  3. 每月1GB流量、2万次请求,超限断开;
  4. 外网浏览器访问强制人机验证,自动化脚本调用失败。

6. ngrok工作原理

云端客户端主动连接ngrok海外服务器,建立加密TLS双向隧道,公网请求转发至容器本地端口,数据全程加密,无需修改云防火墙/安全组。

7. ngrok适用场景

仅短期海外设备调试vLLM接口,不推荐国内传输模型、数据集文件


四、文件上传下载4套完整方案(AMD无密码环境)

方案1:JupyterLab网页传输(最简单,无需SSH)

操作

  1. 打通8888端口公网隧道,打开Jupyter地址;
  2. 上传:顶部上传图标;下载:右键文件-Download;
  3. 文件夹处理:云端打包压缩
bash 复制代码
# 压缩文件夹
tar -zcvf dataset.tar.gz ./my_dataset
# 解压
tar -zxvf dataset.tar.gz

优缺点

✅ 无需密钥、复用现有HTTP隧道、开箱即用

❌ 不支持文件夹直传、大文件易超时、无断点续传

适用:<500MB代码、表格、小数据集、临时取推理结果

方案2:SFTP密钥免密传输(大模型首选,FileZilla图形拖拽)

AMD仅支持SSH密钥登录,无密码,单端口22即可完成全部文件传输,避开FTP双通道坑。

步骤

  1. Mac本地生成免密密钥
bash 复制代码
ssh-keygen -t ed25519

全程回车,不设置密钥密码,私钥路径 ~/.ssh/id_ed25519

  1. 创建AMD实例时,将 .pub 公钥粘贴至SSH密钥输入框;

  2. 穿透22端口TCP隧道

bash 复制代码
# cpolar
cpolar tcp 22
# ngrok
ngrok tcp 22
  1. 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波动 极易中断 不推荐传文件

提速建议

  1. 4GB以上模型优先原生SFTP,放弃穿透工具;
  2. 只能用cpolar场景:传文件使用 cpolar tcp 22,不使用Jupyter网页;
  3. 传输前打包 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专属

  1. 未配置authtoken启动隧道报4018;
  2. 免费单隧道限制,无法同时穿透8000+8888;
  3. 重启隧道域名变更,本地vLLM客户端需要改地址;
  4. 国内浏览器访问弹出人机验证,自动化调用失败。

cpolar专属

  1. 免费域名24小时重置,每天更新Jupyter/API地址;
  2. 免费1Mbps带宽+每月1GB流量,传大模型极易限速;
  3. 云防火墙放行9200(管理面板)、8000、8888端口。

AMD云专属

  1. SFTP禁止密码登录,必须选择密钥文件登录;
  2. 实例销毁所有数据清空,隧道同步失效;
  3. Jupyter大文件上传>2GB容易浏览器超时断开;
  4. 不及时释放实例持续消耗免费200卡时算力。

文件传输通用

  1. HTTP隧道不适合几十GB模型传输;
  2. 传统FTP配置复杂,优先SFTP;
  3. 大文件务必压缩后再上传下载。

八、国内用户标准完整工作流(cpolar + vLLM)

  1. AMD云实例启动vLLM,监听8000端口;
  2. 云端安装并绑定cpolar token;
  3. 开启两条HTTP隧道:8000(vLLM)、8888(Jupyter);
  4. Mac浏览器打开Jupyter公网地址,上传数据集、代码;
  5. 本地Mac curl / AI客户端调用cpolar 8000公网地址做推理;
  6. 训练完成后,使用AMD原生SFTP直连批量下载模型权重至本地。