VScode 远程连接服务器调试代码

VScode 远程连接服务器调试代码

在深度学习训练模型时经常需要在服务器上跑代码,在租用的服务器上基于终端不便进行代码调试,而使用远程桌面控制部署也相对麻烦。pycharm 则需要专业版才能进行远程开发,一番周折之后最终选择利用 VScode 来进行远程代码调试。本文用于记录在部署过程中遇到的一些问题。🤔

1 远程服务器

这里本人使用 autoDL 平台租用服务器,平台提供了多种类型的 GPU ,而且价格也相对合理。平台链接如下:

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

若想要使用平台在首页根据帮助文档操作即可,文档的教程很详细。

image-20231020174250365

2 VScode 本地配置

SSH 连接配置

VScode Extensions:MarketPlace 中搜索 Remote Development 找到对应扩展后下载。同时会自动下载依赖的一些扩展。

image-20231020174837329

下载好扩展后,开始进行相应的配置,先点击左下角 Open a Remote Window,再选择 Remote-SSH 连接。

image-20231020175615629

然后选择 Add New SSH Host

image-20231020180038876

这时候我们需要填入 SSH 连接指令,

image-20231020180208963

AutoDL 控制台将租用的容器实例开机,在 SSH 登录处可以复制 SSH 指令和密码。这里我没有开机所以看不到😉。

image-20231020180532756

将复制的 SSH 指令填入后按回车即可。然后再复制密码输入远程主机的密码建立回车连接即可。

这里我连接时遇到了一点小问题,如果没有遇到可以直接跳过。

image-20231020181323315

这里我远程服务器已经开机但是任然无法和服务器建立连接。需要再进行相关的配置

image-20231020181553752

在扩展中找到 Remote-SSH 扩展,右键后点击进入 Extension Settings,将 SSH 的 Conifg 文件路径写入。

image-20231020181854727

这里的 Config 文件我们可以在前面 Add New SSH Host 时进行配置。

image-20231020182135746

image-20231020182541557

这里我选择了第一个配置文件,所以就将该配置文件的路径写入。

设置好路径后再连接远程服务器即可成功连接。

DeBug 环境配置

在远程主机安装 PythonJupyter 扩展

image-20231020214547349

安装好扩展后配置 python 解释器

image-20231020215036817

完成配置后即可以运行代码(服务器已经部署好相关环境,已安装好所需要的包…

image-20231020215520402

image-20231020215427408

DeBug,选择 DeBug 配置

image-20231020215731792

设置断点调试

image-20231020215946730

以上就已经完成了通过 VScode 远程连接服务器调试代码😁。

3 为远程服务器下载扩展可能遇到的问题

本人在为远程服务器下载扩展时下载巨慢,最后还不能成功安装…😵 不知道具体是什么原因所以只好采用离线安装的方法。

下载vscode插件

进入VScode插件市场网址下载所需要的插件

All categories Extensions - Visual Studio Code

image-20231020220817939

这里主页就有我们需要的插件,点击进入插件页面,往下翻找到 Download Extension

image-20231020221030192

这时候我们会得到一个 .vsix 文件,将该文件上传至服务器,在 vscode 扩展右上角点击三点选择 install from VSIX…

image-20231020221455509

找到文件所在的路径安装即可

image-20231020221829390

这时候不出意外会遇到以下报错… 哈哈哈哈,问题是真的多😰

image-20231020222259903

只好慢慢解决哩…

先修改 .vsix 文件的后缀为 zip,使用解压软件打开

image-20231020222755340

extension 文件夹中找到 package.json 文件 ,用记事本打开

image-20231020223002517

找到 "engines":{"vscode":"^1.83.0"} 修改版本号为刚才报错提示的版本号。

image-20231020223234986

修改后保存,确认修改。(这里不要直接解压后然后修改,再将文件压缩,再修改文件后缀为 vsix,这样安装后扩展是灰色的,任然不能使用。应该在压缩文件中修改然后保存,再修改文件后缀为 vsix ,emmm,至于为什么我也不太清楚,挺玄学。开始我遇到这问题然后在知乎评论看到得这样操作然后就OK了…🤔)

image-20231020223559802

然后再修改回 vsix 文件后缀重新上传安装即可。

image-20231020224735880

大功告成 ! 大功告成~! 大功告成  😀

4 其他

设置 SSH 免密登录

每次登录都要输密码怪麻烦的,所以想要设置免密登录🥲

首先在本地生成 ssh 公钥私钥

git bash 或者 cmd 中输入

ssh-keygen

然后一直回车即可,这里我之前生成过所以我直接覆盖了之前的(最好不要直接覆盖哈哈哈,可以改个名 eg:test_rsa

image-20231020234443115

生成的公钥在 /C/Users/XXX/.ssh 文件夹下

image-20231020235304109

autoDL 主机设置 SSH 免密登录操作请跳转至 autoDL

id_rsa.pub 文件上传至服务器根目录 .ssh 文件夹下

image-20231020230214068

# 切换到 .ssh 文件夹下
cd .ssh
# 将公钥内容复制到 authorized_keys 文件中
cat id_rsa.pub >> authorized_keys
# 修改文件权限
sudo chmod 600 authorized_keys
# 重启 ssh 服务
service ssh restart

autoDL 服务器可以直接添加 SSH 公钥,较为方便😋

image-20231021000842407

在容器实例点击设置密钥登录,然后添加 SSH 公钥即可,就是将前面生成的 id_rsa.pub 文件中的内容复制过来即可。

image-20231020232204697

配置好后就不需要每次都打密码啦~!

本地上传文件至服务器

本人使用 FileZilla 来上传文件,基于 SSH 连接和 SFTP 协议,传输文件较为方便,但是有点点慢慢…应该是文件加密计算量大😴

image-20231021001537295

具体有关 AutoDL 配置 SSH,FileZilla 等可以参考其帮助文档,里面都有相对详细的介绍。

image-20231021001751671

折腾了这么就终于给搞定咯。文章到此就结束哩,感觉写得逻辑有点混乱,…😫

参考

  1. VSCODE远程连接深度学习服务器教程 - 知乎 (zhihu.com)
  2. 使用vscode进行远程炼丹 - 知乎 (zhihu.com)
  3. vscode设置remote-ssh并免密登录_vscode ssh 免密-CSDN博客
  4. VSCode远程连接服务器报错:Could not establish connection to “xxxxxx”【已解决】-CSDN博客
  5. vscode下链接远程服务器安装插件失败、速度慢等解决方法_vscode远程安装不上扩展_Emphatic的博客-CSDN博客
  6. VScode离线安装插件,以及安装插件失败问题 - 知乎 (zhihu.com)
  7. VS Code離線安裝插件報錯Unable to install extension ‘dart-code.flutter’ as it is not compatible with VS Code ‘1.51.1’. - 糖~豆豆 - 博客园 (cnblogs.com)
  8. AutoDL帮助文档
  • 22
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值