客服

VS Code 远程连接矩池云机器教程

如何使用 VS Code 远程连接矩池云主机

Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器。VS Code 支持代码补全、代码片段、代码重构、Git 版本控制等功能。
VS Code 现已支持连接远程服务器功能,只要您本地安装有 SSH 程序,您就可在 VS Code 中,连接矩池云的机器。
请注意,若要长时间训练脚本,请在 Terminal 中配合 tmuxnohup命令进行,否则训练可能因网络问题或您关闭了 VS Code 而中断。

矩池云租用教程

首先,您需要租用一台矩池云的 GPU。
矩池云租用教程请移步 矩池云租用教程
矩池云提供网盘存储服务,您可先将数据集和脚本文件打包上传至网盘,提高上传速度,还能节省费用。

安装 VSCode

请从官方网站下载最新版的 VS Code,按照提示逐步安装。
安装后默认是英文界面,如果您想设置语言为中文,可以点击左侧的扩展按钮,搜索 “Chinese”,安装搜索结果中的第一个(Chinese (Simplified) Language Pack for Visual Studio Code)后重启 VS Code,即可修改语言为中文。
设置中文

1. 安装远程插件

同样,先点击左侧的扩展按钮,搜索 “Remote Development”,点击绿色的安装按钮。
这个插件会自动安装 Remote-SSH, Remote-Containers, Remote-WSL 等几个依赖插件。
安装插件

2. 远程连接配置

点击左下角绿色按钮,打开远程连接配置列表。在列表中,点击 Connect to Host。
点击连接 SSH
第一次使用,点击 Add New SSH Host。
新建 SSH 远程
在矩池云租用列表中,复制 SSH 连接。
SSH 连接格式为:ssh -p 43603 root@hz.matpool.com,请在连接前确认。
进行 SSH 连接
在 VS Code 的窗口中输入 SSH 连接命令,按回车。
配置完成
如果您打开列表中的第一个文件,可以看到,远程 Host、HostName、Port 和 User 都已经添加在 SSH 配置文件中。
添加 Config
其中 Host 是该远程配置的别名,可以自定义,且不允许重复,HostName、Port 和 User 为固定值,可以在租用界面获取。
ssh-info
注意: 如果多次设置,该配置文件中的内容可能会重复,多个配置无效。请删除至仅保留一个有效的配置,且 Host 名称不能重复。
错误示例

3. 连接远程服务

此时,再次点击左下角绿色按钮,打开远程连接配置列表。在列表中,点击 Connect to Host。
点击连接 SSH
可以看到已经有 matpool.com 的连接存在,点击它。
连接到远程
VS Code 开始连接。
若需要您选择系统,请选择 Linux。
选择系统
如果出现询问,点击 Continue 继续。
Continue
若您在租用矩池云机器时,选择的是密码登录方式,对话框会请您输入密码。若您使用公钥登录且正确,则无需输入密码。
输入密码
当左下方出现 SSH:hz.matpool.com 时,代表连接成功。
连接成功

4. 在远程服务中运行

此时可在 Terminal 中运行远程命令,例如查看当前 GPU。
查看 GPU
在窗口中,您可以打开远程服务器中的文件进行编辑。
打开文件
如果要选择矩池云网盘中的文件进行编写,则可以将默认的 /root 改为 /mnt
选择网盘
点击下拉列表中的 mnt 目录后,文件目录可逐层选择。
选择文件
再次输入密码后,可打开文件。
编写脚本
右侧下方,可以点开 Terminal 执行 Bash 命令。如果要运行命令,可以在此输入。
运行 cmd
例如修改脚本后,要运行该 Python 文件,则可以输入 python train.py
运行 Python

5. 关闭和重新进行远程连接

如果您要断开 VS Code 的远程连接,可点击左下角后,点击"关闭远程连接"选项。
断开连接
如果您想再次登录矩池云机器,可重复第三步"连接远程服务"的操作。

6. 修改远程连接

若您更换了矩池云机器,此时矩池云的远程连接端口可能发生了变化。
依旧点击左下角绿色按钮,然后点击 Open Configuration File。
打开配置文件
选择第一个,.ssh 目录下的 config 文件。
ssh 配置
点击打开该文件。
config 文件
修改 HostName 为本次的 Host。将 Port 端口号设置为新的端口号。
text
HOST(主机名):hz.matpool.com 或 hz-t2.matpool.com,请以您 SSH 中给定的域名为准。
Port(端口号):矩池云租用记录里 SSH 连接里冒号后的几位数字,例如图中的 38865。
SSH
修改后如图所示。
修改 Config
按 Ctrl + S 保存。
修改端口号后,重复第三步"连接远程服务"的操作即可。

7. 使用公钥登录

矩池云建议您在 VS Code 中使用公钥登录,以获得更好的体验。
公钥相比密码,有更高的安全性,且配置完成之后都可免密使用。如何设置公钥
如果是Linux&Mac找到~/.ssh/conifg文件,如果是Windows找到C:\Users\matpool\.ssh\conifg文件,将matpool改成自己的用户名。添加IdentityFile选项即可。
text
# 写域名或者缩写,然后可以直接ssh matpool
Host matpool

# 矩池云分配的服务器域名
HostName hz.matpool.com

# 矩池云服务器的端口
Port 29722

# 矩池云用户名
User root

# 本地私钥地址
Linux&Mac
IdentityFile ~/.ssh/matpool

Windows
IdentityFile C:\Users\matpool\.ssh\matpool

# 保持客户端与服务端会话在短时间内不会断开,单位是秒
ServerAliveInterval 360
当您在本地生成公钥并在矩池云中保存之后,再次使用 VS Code 连接矩池云机器时,都无需输入密码。

FAQs

Visual Studio Code 连接显示远程主机不符合glibc 先决条件?

如果你使用最新版本(大于等于1.86)Visual Studio Code 连接远程服务器可能遇到下面错误显示。
这是因为新版本 VS Code 已经不再支持远程连接 Ubuntu 18.04 版本的服务器。
目前有以下两个解决方法:
  • 下载低版本的 VS Code
VS Code 1.85 版本下载地址:点击下载
  • 使用预装了 Ubntu 20.04 的镜像

Visual Studio Code 连接显示Time out?

有时候 Visual Studio Code 远程连接会显示 Time out,但我们直接CMD/终端输入 ssh 指令连接又没问题,这大概率是本地网络波动导致本地远程连接不稳定。
在 Visual Studio Code 里可以点击拓展按钮,然后搜索 ssh,点击搜索出来的Remote - SSH,然后点击设置按钮,选择拓展设置
image-20240206171131694
将 Connect Timeout 里的时间改成60或者更大,然后再连接即可。
如果修改后连接仍然显示Timeout,说明本地网络确实有问题,建议切换其他网络试试。