【基础篇 08】让VS Code连接服务器:界面在本地,文件保存到远端

YOLO从零到论文:模型改进与科研实战全攻略

YOLO基础篇 · A08

作者:迪菲赫尔曼

大家好,我是迪菲赫尔曼。

上一期已经用账号密码登录服务器。现在把VS Code连接过去,后面就可以用熟悉的编辑器修改服务器上的代码。

第一次看到远端终端,有的同学会问:以后是不是都要对着这个黑窗口写代码?改一个文件,也得先背一堆命令?

不用急。前面学的 VS Code 还能接着用,我们给它加上 Remote-SSH,让它打开服务器里的项目。这一篇沿用我之前《云服务器使用教程篇》的操作截图,把"安装扩展---添加主机---保存配置---连接成功"拆开走一遍,再接上这套课程的保存文件练习。

这里先记住一句话:窗口还显示在自己电脑上,不代表文件和程序也在自己电脑上。 本篇先建立远端窗口并保存一个文本文件,Python环境到A10再统一准备。

1. 开始前需要什么?

本地已有A03安装的VS Code;A07的SSH命令已经能成功登录;手里有同一组地址、端口、账号和密码。

如果普通SSH还失败,先处理连接,不要同时安装训练依赖。两个问题混在一起,会更难判断。

2. 在本地VS Code安装Remote-SSH

打开扩展区,搜索并安装Microsoft的Remote-SSH。

认准发布者 Microsoft。原图里已经装好,所以显示"禁用""卸载";你第一次安装时,按自己的页面点"安装"。截图使用的是当时的预发行版,跟做不用特意切换成相同版本。

这是本地编辑器用来建立连接的扩展,不是PyTorch,也不是Python环境。服务器不需要为了编辑代码先安装一套桌面VS Code。

你可以用文件树、编辑区和集成终端操作远端项目。在远端窗口保存文件,就是把改动保存到服务器那份文件里;本地原来同名的文件,不会因此自动同步。

安装与连接入口可对照VS Code 官方 Remote-SSH 说明,具体菜单名称可能因语言略有不同,按功能识别。

3. 添加并连接自己的主机

3.1 找到"添加新的 SSH 主机"

原教程是从左下角的远程连接图标进入,点击"连接到主机"。这里也可以沿用这条路线:

在随后出现的主机列表里,选择"添加新的 SSH 主机"。第一次没有保存过连接,列表和截图不一样很正常。

也可以直接打开命令面板:Windows/Linux 按 Ctrl+Shift+P,Mac 按 Cmd+Shift+P,搜索 Remote-SSH: Add New SSH Host...。这两条路线都是添加主机,选择其中一种就够了。

3.2 粘贴已经验证过的完整 SSH 命令

接下来粘贴 A07 已经成功登录的那条 SSH 命令。地址、端口和账号都沿用自己的实例,不用为了匹配截图重新改一套。

这是"添加新的 SSH 主机"入口里的真实输入框。图中填的是 A07 的文档示例地址,不能直接连接。请在自己的界面粘贴平台提供的当前登录指令。

完整的 ssh -p ... 命令要填在"添加新的 SSH 主机"这一步。 后面的"连接到主机"通常是选择已经保存的主机;不要把完整命令当成用户名粘到 user@host 输入框里。

3.3 选择保存配置的位置

按回车后,编辑器会让你选择 SSH 配置文件。原教程选择的是当前用户目录下的 .ssh/config:

这里保存的是本地电脑记住的连接配置 ,还不是在选择服务器项目目录。Windows 的位置通常在当前用户目录下的 .ssh,Mac/Linux 通常是 ~/.ssh/config;按实际用户路径选择,不要照抄图里别人的路径。

如果列表提供当前用户目录下的默认配置文件,选择它即可。已有别的主机配置也没关系,正常添加这一条,不需要清空整个文件。

3.4 连接刚才添加的主机

保存后,可能出现"已添加 SSH 主机"的通知,点击右下角"连接":

如果通知已经消失,运行 Remote-SSH: Connect to Host...,选择刚才保存的主机,也能继续。示例命令里的地址不能照抄,必须使用自己的信息。

我把这次连接命名为 yolo-course,避免与失效的历史连接混在一起;这只是 SSH 配置中的名字,不是服务器用户名,也不是让你在租赁平台创建同名实例。你可以直接选择自己保存的地址,无须改成这个名称。

3.5 选择远端系统,再输入密码

如果弹出系统类型选择,按服务器实际系统选;本课程使用 Linux 实例,所以选择 Linux。这里问的是服务器系统,不是你面前电脑的系统。 本地是 Windows,也不影响远端选 Linux。

出现密码提示时,输入该实例的 SSH 登录密码。它不是要你再输入一次 SSH 命令,也不一定等于云平台网站的账号密码。若重复弹出提示,先看连接日志再核对凭据。

首次连接可能需要等待 VS Code Server 安装。这与"服务器上的 Python 环境"是两件事:前者让编辑器连接工作,后者运行课程代码。下载可能持续数分钟,先看 Remote-SSH 输出是否仍在下载,不要因为暂时没出现文件树就反复关闭窗口。

3.6 从远端标识和终端确认成功

连接成功以后,先看窗口左下角,应该能看到 SSH: ... 的远端标识,再通过"终端 → 新建终端"打开远端终端。

这张是原教程的连接记录。当时处于无卡状态,GPU 一栏为空;它只证明当时能连接实例,不代表 GPU 训练环境已经就绪。欢迎文字中的 /root/tmp 和下方数据盘路径也不一致,具体位置到 A09 用实际挂载核对。

在这个远端终端输入 hostname 和 pwd,和 A07 的服务器信息对照。能看见远端标识,终端也能返回服务器的主机名与路径,再继续打开项目。

连接失败先查看Remote-SSH输出日志。此时YOLO还没有开始运行,不需要修改模型文件。

历史主机突然连不上,先核对端口

租赁实例重新开机、重新创建或换实例以后,先核对平台当前给出的地址、账号和端口是否发生变化,不要默认历史连接一直有效。

我连接时遇到过这种情况:普通连接仍读取旧端口,日志显示 Connection refused,而当前登录指令中的新端口可以建立 TCP 连接。端口可达还不等于密码验证或 VS Code Server 安装已经成功,这几步要分别看。

在 Remote-SSH 的输出里找到实际调用的地址和端口,与当前登录指令逐项比较。若旧配置已经失效,按平台新信息更新对应主机条目,其他主机配置不要一起改。

4. 先打开家目录,再建立并打开课程目录

连接成功后,先确认窗口有远端主机标识。用"打开文件夹"进入 A07 的 pwd 显示的位置;本次 root 账号的家目录为 /root,普通账号以自己的实际位置为准。

在这个远端窗口新建终端,先建立一层课程目录:

bash 复制代码
mkdir -p /root/lanyun-tmp/yolo-study

mkdir 用来建目录,-p 允许缺少的父目录一起建立;目录已经存在时,不会因此创建第二份同名目录。这次完整路径以平台提供的实际可写存储位置为前提,不能机械照抄到其他平台。

再选择"打开文件夹",输入刚才建立的 /root/lanyun-tmp/yolo-study,点确定。

这里填写的是服务器路径。不要点"显示本地",也不要填写本地的 C:/Users/...。下一篇 A09 会在此目录中继续建立 code、datasets 等子目录,因此这里先只建立外层项目即可。

5. 新建一个小文件,确认保存位置

在这个远端窗口新建:

text 复制代码
remote-note.txt

写入:

text 复制代码
这是保存在服务器上的文件。

保存时核对路径仍在课程目录,不要切到"显示本地"。

按保存,再在当前远端窗口新建终端,执行:

bash 复制代码
hostname
pwd
ls

前两条核对服务器和当前目录;ls 列出文件。如果终端位置正是保存位置,应能看到 remote-note.txt。你还可以执行 cat remote-note.txt,打印刚才保存的那句话。

实例主机名和文件时间与你的不同很正常。截图的文件没有另起末尾空行,因此提示符接在文本后;这不表示文件内容多了一串提示符。

这次练习不需要Python。重点是把"远端文件树---保存文件---远端终端"对应起来。

6. 它和本地项目会自动同步吗?

不会因为文件夹名字相同就自动同步。你在本地另一个窗口修改 hello.py,不表示服务器那份也改变;从服务器保存结果,也不表示本地已有备份。

后面主要直接在远端窗口编辑训练代码。本地收集的照片和标注结果,则按A09传上去;结果需要下载时也明确传输。

不要同时开两个同名项目,靠猜判断当前改的是哪一份。看窗口的远端标识,再看终端 hostname。

7. Python扩展和解释器,什么时候选?

A10在服务器建立环境之后,再在这个远端窗口安装需要的Python扩展,并选择远端环境的解释器。

不能因为本地早已选过一个Python,就认为服务器也自动有相同环境。环境属于实际运行的机器。

A10---A13会用 sys.executable 和 ultralytics.__file__核对,不在这里提前要求你安装第二套环境。

8. 今天完成到什么程度就够了?

能连接同一台服务器,打开远端目录,保存文本,并在远端终端找到它,就完成本课。

还不需要训练。下一篇建立统一项目目录、练习上传和下载。到了A10,再准备真正运行代码的远端环境。

到这里,先确认你已经连上 Remote-SSH,文件保存在远端,集成终端也位于服务器课程目录。先到 A09 确认项目目录并练习传文件,再回到 A10 安装远端 Python 扩展、选择解释器并实际运行代码。

上一篇:第一次SSH登录

下一篇:服务器目录与数据传输

相关推荐
东方佑1 小时前
去魅:工具调用、Agent 调用、A2A、MCP、Harness 到底都是什么
服务器·网络·数据库
H.莓飛1 小时前
【数据结构】排序总结与规模实测
linux·服务器·开发语言·数据结构·visual studio·1024程序员节
2501_915106321 小时前
Windows 上开发 Unity iOS,使用 KXBuild 进行真机调试、性能采样与打包 ipa
windows·vscode·unity·ios·个人开发·swift·敏捷流程
xianyuCcCcCCCcc1 小时前
Kubernetes :健康检查、认证授权与可视化面板
运维·云原生·kubernetes·dashboard
Zenova EdgeOS2 小时前
Linux 日志实战:用 journalctl 精准检索与治理工业边缘日志
linux·运维·chrome
Dory_Youth2 小时前
电脑的搜索功能不能用,一搜就黑屏闪退
运维·笔记
Dxy12393102162 小时前
Linux 压缩解压相关命令介绍
linux·运维·服务器
eleven_4u2 小时前
QPS如何计算,如何部署架构
java·linux·运维·jvm·中间件
yyk333242 小时前
YOLOv3算法
人工智能·yolo·目标跟踪