cannlab-ssh
v0.2.0
Published
无需 VS Code,直接通过终端连接 CANNLab CPU/NPU 开发环境
Maintainers
Readme
npussh
无需安装 VS Code,直接在系统终端中连接 CANNLab CPU/NPU 开发环境。
主命令为 npussh,同时保留 cannlab-ssh 作为兼容命令。
功能
- 使用系统浏览器完成 GitCode OAuth 登录
- 查看当前账号下的 CANNLab 环境
- 通过 SSH 连接运行中的 CPU/NPU 环境
- 使用接近原生
ssh的参数、远程命令、管道和端口转发 - 使用
npuscp、npusftp、npursync上传和下载文件 - 自动下载并运行 AtomGit Dev Space 官方连接 helper
- 安全保存登录凭据,不在项目目录写入 Token 或 SSH 私钥
- SSH 退出后自动删除临时私钥并关闭端口转发
支持的平台
| 平台 | 状态 | 登录凭据存储 |
|---|---|---|
| macOS | 已实机验证 | macOS Keychain |
| Linux 桌面 | 已适配,未实机验证 | Secret Service(secret-tool) |
| WSL2 | 已适配,未实机验证 | Windows DPAPI 加密文件 |
| 原生 Windows | 暂不支持 | - |
Linux 桌面和 WSL2 已通过自动化测试及 Linux 容器验证,但尚未在真实设备上完成端到端连接验证。
安装
需要 Node.js 20+、OpenSSH 客户端和 unzip。使用 npursync 时,本地和远端环境都需要安装 rsync。
npm install -g cannlab-ssh
npussh --help无需克隆代码仓,也无需执行 npm link。
Ubuntu/Debian 桌面还需要:
sudo apt install openssh-client unzip libsecret-tools xdg-utils rsyncWSL2 内需要:
sudo apt install openssh-client unzip rsyncWSL2 还应启用 Windows 程序互操作,确保可以执行 powershell.exe。登录时会打开 Windows 默认浏览器。
使用方法
首次使用先登录:
npussh login查看环境:
npussh list像普通 SSH 一样连接环境:
npussh <环境名称或 ID>原来的 connect 命令仍然兼容:
npussh connect <环境名称或 ID>执行远程命令:
npussh <环境名称或 ID> uname -a通过管道执行本地脚本:
cat script.sh | npussh -T <环境名称或 ID> bash -s使用 SSH 端口转发:
npussh -L 8080:127.0.0.1:80 -N <环境名称或 ID>进入远端后查看 NPU 信息:
npu-smi info断开 SSH:
exit删除本地登录凭据:
npussh logout文件传输
上传文件或目录:
npuscp local.txt <环境名称或 ID>:/workspace/
npuscp -r local-dir <环境名称或 ID>:/workspace/下载文件或目录:
npuscp <环境名称或 ID>:/workspace/result.txt ./
npursync -av <环境名称或 ID>:/workspace/output/ ./output/增量同步到远端:
npursync -av --delete ./project/ <环境名称或 ID>:/workspace/project/打开 SFTP:
npusftp <环境名称或 ID>常见问题
3000端口被占用:停止占用该端口的程序,再执行npussh login。- Linux 提示缺少
secret-tool:安装libsecret-tools,并确认桌面密钥环已解锁。 - WSL2 没有打开浏览器:确认
powershell.exe可执行;终端也会输出可手动打开的授权地址。 - 环境不在“运行中”状态:先在 CANNLab 页面启动环境,再执行
npussh connect。
卸载
npussh logout
npm uninstall -g cannlab-ssh连接流程、凭据生命周期、平台适配和安全边界见 实现原理。
