VSCode远程连接AutoDL服务器
文章目录
- 一、VSCode远程连接AutoDL服务器
- (1)获取AutoDL实例登录信息
- (2)安装Remote-SSH插件(VSCode首次使用)
- (3)远程连接AutoDL实例(通过SSH)
- (4)打开远程终端
- (5)关闭远程连接
- 二、配置虚拟环境
- (1)切换到非root用户(可跳过)
- (2)安装Miniconda(可跳过)
- (3)在指定路径下,创建虚拟环境
- 方式二:在默认路径下,创建虚拟环境(不推荐)
- 三、上传本地项目 to 远程服务器
- 四、克隆远程仓库 to 本地(若项目在本地,则跳过)
- 五、在远程服务器,运行代码
- 备注:移动文件/文件夹到指定路径
- (1)文件被加密的异常显示
- (2)文件被加密的解决方法
- 异常提示:Downloading VS Code Server...
一、VSCode远程连接AutoDL服务器
AutoDL帮助文档:VSCode远程开发
通过Visual Studio Code(VSCode)配合Remote-SSH插件,可方便地连接AutoDL远程服务器,实现跨平台远程开发、调试与部署。
(1)获取AutoDL实例登录信息
在AutoDL平台控制台中,进入已开机的实例,获取SSH登录指令与密码信息。示例如下:
登录指令:ssh -p 38909 root@region-1.autodl.com
密码:vw5hijtsdrsay
(2)安装Remote-SSH插件(VSCode首次使用)
打开VSCode:
- 点击左侧扩展图标
Extensions- 搜索
Remote - SSH- 点击
安装安装完成后,在VSCode最左下角状态栏将出现远程连接入口
Open a Remote Window(绿色><标志)。
(3)远程连接AutoDL实例(通过SSH)
连接流程如下:
- 点击VSCode左下角绿色连接标志(或使用快捷键F1,输入并选择
Remote-SSH: Connect to Host...);- 在弹出的菜单中选择
Add New SSH Host;- 输入AutoDL提供的SSH登录指令,例如:
ssh -p 38909 root@region-1.autodl.com,回车确认;- 当提示是否编辑SSH配置文件时,
直接回车跳过;- 若出现操作系统选择提示,请选择
Linux;- 根据提示输入密码(如:
vw5hijtsdrsay),等待连接建立;- 成功连接后,VSCode左下角将显示状态为
SSH: connect;- 点击左侧
Remote Explorer图标,可查看远程服务器的终端与目录结构信息。
(4)打开远程终端
完成连接后:
- 点击菜单栏
Terminal → New Terminal;- 将在底部Terminal中打开远程终端,即可在AutoDL服务器中执行命令(如创建虚拟环境、安装依赖等)。
(5)关闭远程连接
当完成远程开发任务后,可通过以下方式安全关闭远程连接:
- 菜单栏选择:
File → Close Remote Connection;- VSCode将自动断开SSH连接,并返回本地工作空间。
备注:建议在关闭连接前,确保已保存所有修改、退出虚拟环境,并完成必要的数据同步。
二、配置虚拟环境
远程服务器连接成功后,建议为每个项目单独配置Python虚拟环境,以隔离依赖、提升可维护性,并保持开发环境整洁。
(1)切换到非root用户(可跳过)
若服务器上仅有root用户,建议新增普通用户以降低权限风险:
# 添加用户(例如命名为 sduser)
adduser sduser
# 系统提示输入密码(例如设置为123456)
# 将用户添加到 sudo 组(允许执行管理员操作,视情况而定)
usermod -aG sudo sduser
# 切换至新用户
su - sduser
(2)安装Miniconda(可跳过)
AutoDL服务器通常预装conda或miniconda,默认路径可能为 /root/miniconda3 或 /opt/conda。首次使用时可能需要加载初始化脚本:
# 1. 下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
# 2. 执行安装脚本(安装至 ~/miniconda3)
bash ~/miniconda.sh -b -p ~/miniconda3
# 3. 激活conda环境
eval "$(/home/sduser/miniconda3/bin/conda shell.bash hook)"
conda activate base
# 建议将conda路径加入环境变量,方便后续调用
export PATH=~/miniconda3/bin:$PATH
(3)在指定路径下,创建虚拟环境
- 建议为每个项目单独创建虚拟环境,避免依赖冲突并便于统一管理。
- 为避免默认路径冲突、方便统一管理,建议将虚拟环境创建至
/root/envs/或~/envs/目录中:
此方式可集中管理环境文件,避免默认路径冲突,便于生产部署。
在指定路径下创建环境:conda create --prefix 路径env_name -y
# 创建虚拟环境(指定路径)
conda create --prefix /root/envs/py39 python=3.9 -y
# 初始化conda(首次使用)
conda init bash
source ~/.bashrc
# 激活虚拟环境
conda activate /root/envs/py39
# 安装常用依赖
conda install numpy opencv matplotlib -y
pip install -r /root/stable-diffusion-webui/requirements.txt
# 退出虚拟环境
conda deactivate
# 删除环境(如需清理)
conda remove --prefix /root/envs/py39 --all
以下是依赖库安装:
#########################################################################
# 安装 GPU 版 PyTorch(CUDA11.8 兼容)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y
# 验证torch是否安装成功且可正常使用GPU
python3 -c "import torch; print('torch:', torch.__version__); print('CUDA可用:', torch.cuda.is_available()); print('CUDA版本:', torch.version.cuda); print('设备名称:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '无GPU')"
# 打印信息:
# torch: 2.5.1
# CUDA可用: True
# CUDA版本: 11.8
# 设备名称: NVIDIA GeForce RTX 4090
#########################################################################
方式二:在默认路径下,创建虚拟环境(不推荐)
快速且方便,适合测试和简单项目,但环境集中在默认目录,可能导致多项目依赖冲突。
# 创建虚拟环境(默认路径)
conda create -n py39 python=3.9 -y
# 初始化conda(首次使用)
conda init bash
source ~/.bashrc
# 激活环境
conda activate py39
# 安装常用依赖库
conda install numpy opencv matplotlib -y
pip install -r requirements.txt
# 退出环境
conda deactivate
# 删除环境(如需清理)
conda remove -n py39 --all
三、上传本地项目 to 远程服务器
完成Remote-SSH连接后,VSCode支持直接拖拽上传,也可使用命令行工具scp进行文件传输。
该方式操作直观、效率高,适合初学者及日常开发场景,推荐作为主要方式使用。
- 上传本地文件/文件夹至远程:
- 在左侧点击
Explorer(资源管理器);- 点击
Open Folder,选择远程路径(建议选择/root/目录),直接点击OK;- 将本地项目文件或整个文件夹直接拖入远程目录,VSCode会自动完成上传;
- 上传进度可在终端状态栏中查看。
- 下载远程文件/文件夹至本地:
- 在远程目录中右键目标文件或文件夹;
- 选择
Download,即可将其保存至本地;(或复制粘贴至本地窗口);- VSCode自动保存至本地文件系统。
四、克隆远程仓库 to 本地(若项目在本地,则跳过)
cd /root/
git clone https://gitclone.com/github.com/AUTOMATIC1111/stable-diffusion-webui.git
克隆完成后,在VSCode中执行:
- 点击菜单栏File > Open Folder
- 选择 /root/stable-diffusion-webui 目录,点击确定打开项目
五、在远程服务器,运行代码
文件上传完成后,可在VSCode远程终端中激活环境并运行代码。
# 切换到上传的项目路径
cd /root/your-project
# 激活conda虚拟环境
conda activate your-env
# 执行主程序
python main.py
- 我们发现,在AutoDL中,只能通过命令行执行代码,其右上角没有Python编译器。
- 解决方法:在Extensions中搜索python并安装python + python Debugger,详情请见下图。
备注:移动文件/文件夹到指定路径
# 1. 进入 root 用户(若当前非 root)
sudo su -
# 2. 切换至目标目录
cd /root/autodl-tmp/heweiqing
###################################################
# 3. 编辑脚本(按 i 进入编辑,Esc 后输入 :x 保存退出)
vim abc.sh
# 4. 设置脚本可执行权限(如尚未设置)
chmod +x abc.sh
# 5. 执行脚本
sudo ./abc.sh
###################################################
# 6. 查看脚本内容(确认脚本写入是否正确)
cat abc.sh
# 7. 查看 models 文件夹占用空间
du -sh models/
# -s:仅汇总目录本身的大小;
# -h:以人类可读格式显示(如 MB/GB)。
# 8. 列出当前目录所有文件和文件夹的详细信息
ls -l
# 9. 查看各磁盘挂载点空间使用情况
df -h
# 可快速定位 / 根目录是否已满、各挂载点(如 /autodl-pub)剩余多少空间。
编辑脚本内容(示例)
#!/bin/bash
dist=/root/autodl-tmp/yinxiaodong
src=models
cp -r $src $dist/
chown yinxiaodong $dist/$src -R
退出vim:编写完毕后按
Esc后,输入:x或:wq并回车退出。
(1)文件被加密的异常显示
- 如你不希望再次被加密(避免 vimcrypt 加密),不要误按下
:X或启用加密模式。 - 如需验证是否加密:
head abc.sh,只要不是乱码(例如以 VimCrypt~03! 开头),就说明未加密。
Swap file "/var/tmp/abc.sh.swp" already exists!
Need encryption key for "abc.sh"
Enter encryption key:
或者直接点击Enter后件显示以下乱码:
VimCrypt~03!ڣ~K ^Y ~Z7 h^@ X2I ~@M ^^ / ~H^? *d ~T Q ~_V^Y[ ~G_(5 " =^Z &| ~I6^ >e~V[ OrA ~W ~V ^Q - wx:&C 3~H '| *4? 3 "
~S|X D ~TB, w~R aC ð b^?# #5A ^Y_ ~T ]^B ?<{~R
~
(2)文件被加密的解决方法
✅ 清理并重新新建 abc.sh 的完整流程:
# 删除 swap 文件(vim编辑异常退出时生成的临时交换文件)
rm /var/tmp/abc.sh.swp
# 若原始加密文件已无法恢复,建议删除
sudo rm /root/autodl-tmp/heweiqing/abc.sh
✅ 新建并授权 abc.sh 文件(未加密)
# 切换到目标目录(可选)
cd /root/autodl-tmp/heweiqing/
# 创建空脚本
sudo touch abc.sh
# 赋予所有权给用户 yinxiaodong
sudo chown yinxiaodong abc.sh
# 添加执行权限
chmod +x abc.sh
# 使用 vim 或 nano 编辑脚本
vim abc.sh
异常提示:Downloading VS Code Server…
当你没有root权限,而只有子权限时(可能出现子权限被修改,导致无法登陆)
- 异常提示:
Downloading VS Code Server...
- 问题定位:
- 实测结果:
- 解决方案:让管理员修改 /tmp 权限

















