VSCode远程连接Jetson Nano失败,90%因SSH未启用或用户权限不足:需确保ssh服务运行、用户设密码、PermitRootLogin为no但用户在sudoers中;ARM架构还需安装aarch64版Python及CUDA环境变量配置到位。

VSCode远程连接Jetson Nano失败:SSH配置与权限问题
VSCode无法连接Jetson Nano,90%的情况是SSH服务没开或用户权限不对。JetPack镜像默认启用SSH,但首次启动后若没设密码、没启用root登录,ssh会直接拒绝。别用sudo ssh硬连——VSCode的Remote-SSH插件不支持sudo跳转。
实操建议:
- 在Jetson Nano上运行
sudo systemctl enable ssh && sudo systemctl start ssh确保服务常驻 - 确认当前用户有密码(不是仅密钥登录):
sudo passwd $USER,否则VSCode弹窗输密码会卡住 - 检查
/etc/ssh/sshd_config中PermitRootLogin设为no(安全起见),但你的普通用户必须在sudoers里,否则后续安装依赖会反复提示权限不足 - 从PC端测试连通性:
ssh username@192.168.x.x,能登录再装VSCode插件
Remote-SSH插件连上了却打不开终端:ARM架构Python环境缺失
VSCode连上后新建终端报错command 'python' not found,不是路径问题,是根本没装ARM版Python解释器。Jetson Nano是aarch64架构,不能用x86的python3.8二进制,也不能pip install普通PyPI包——很多轮子没编译ARM版本。
实操建议:
- 先确认JetPack版本:
cat /etc/nv_tegra_release,对应PyTorch/TensorRT版本锁死(比如JetPack 4.6 → PyTorch 1.10.0 + TensorRT 8.0) - 从NVIDIA官网下载预编译的
.whl包(如torch-1.10.0-cp36-cp36m-linux_aarch64.whl),用pip3 install --no-deps装,再补torchvision和torchaudio对应版本 - 在VSCode设置里指定Python路径:
Ctrl+Shift+P → Python: Select Interpreter → /usr/bin/python3(系统自带)或/home/username/.local/bin/python3(用户级pip安装) - 禁用VSCode自动升级Python扩展——新版扩展会尝试调用x86工具链,直接崩溃
写完代码点运行就卡住:CUDA上下文初始化失败
在VSCode里跑import torch; print(torch.cuda.is_available())返回False,或者调用model.to('cuda')卡死,不是显卡坏了,是CUDA驱动没被正确加载进当前shell会话。Remote-SSH默认不读取~/.bashrc里的export语句,PATH和LD_LIBRARY_PATH全丢。
实操建议:
- 把CUDA路径追加到
~/.bashrc末尾:export PATH=/usr/local/cuda/bin:$PATH和export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH - 在VSCode的
settings.json里加配置:"terminal.integrated.env.linux": { "PATH": "/usr/local/cuda/bin:${env:PATH}", "LD_LIBRARY_PATH": "/usr/local/cuda/lib64:${env:LD_LIBRARY_PATH}" } - 重启VSCode窗口(不是重连),否则环境变量不生效;验证用
echo $PATH看是否含/usr/local/cuda/bin - 如果仍报
libcudnn.so not found,说明cuDNN没链接对,运行sudo ldconfig -v | grep cudnn确认路径,再软链到/usr/lib/aarch64-linux-gnu/
TensorRT模型加载慢、推理卡顿:VSCode调试器拖垮GPU内存
用VSCode Debugger跑trt_engine = builder.build_cuda_engine(network)耗时超5分钟,甚至OOM,不是模型大,是调试器把所有tensor都缓存成可inspect对象,吃光4GB显存。Jetson Nano没多余VRAM给IDE分心。
实操建议:
- 绝对不要在Debug模式下执行TensorRT构建——改用Run Without Debugging(
Ctrl+F5) - 构建前加
torch.cuda.empty_cache(),构建后立刻del engine, context并gc.collect(),避免Python引用滞留 - VSCode的
launch.json里加"justMyCode": true和"subProcess": false,禁止进入底层CUDA调用栈 - 真要调试推理逻辑?把输入数据存成
.npy,用独立脚本加载TRT引擎+推理,VSCode只负责编辑和触发,别让它碰GPU


















