VSCode远程连接服务器教程
发布网友
发布时间:2024-10-08 01:54
我来回答
共1个回答
热心网友
时间:21小时前
在进行AI模型开发时,由于conda环境或算力*,我们有时需要使用远程服务器进行代码调试。如果每次都需要在本地修改代码后再上传到服务器,过程会非常繁琐。
VSCode的Remote-SSH插件允许我们通过SSH方便地连接服务器,就像在本地编写代码一样流畅。以下我将详细介绍如何使用VSCode在远程服务器上编写代码的具体步骤。
配置流程:一、安装Remote-SSH扩展
在Extensions(扩展)中搜索Remote - SSH,选择安装即可。
二、配置SSH config文件
打开文件C:\Users\ame\.ssh\config,name对应了你的用户名。在.ssh文件夹下如果没有config文件,可以用记事本创建一个config.txt,编写完成保存后再将后缀.txt删除。
按照以下格式填写服务器登录地址,例如登录地址为Hekenye@192.168.120.124的远程服务器,用户名username即为Hekenye,主机ip即为@后的192.168.120.124。此时可以为其设置别名remote_server,这样再通过ssh登录时,只需要输入以下指令即可。
三、用VSCode进行连接
在config文件配置完成并保存后,在VSCode的Remote Explorer中已经出现了我们想要连接的远程服务器。此时点击箭头连接即可,VSCode会自动进行远程端的设置,窗口上方的中间位置会出现输入密码、选择平台等设置,按照自己的情况填写即可。
经过以上三步,如果服务器网络设置正常以及设置无误的话,我们已经可以愉快地开始敲代码了。但如果远程服务器只能连接内网,或者是需要登录后设置代理才可以上网的话,在第三步连接时可能会遇到一些问题,这里我将梳理一下我碰到的一些问题以及解决方案。
可能遇到的问题:一、卡在Setting up步骤一直无法下载成功
问题:在VSCode进行连接时,输入密码后卡在Setting up SSH Host步骤,提示Downloading VS Code Server或者是Copying VS Code Server to host with scp.
归因:服务器无网络或者是网络不好导致无法正常下载
解决方案:手动下载对应版本的文件后上传服务器
首先我们点击VSCode界面左上方的Help,点击About,获取版本信息。然后选择Copy,基于Commit后的序列下载对应版本的文件,例如我的版本是6c3e3dba23e8fadc360aed75ce363ba185c49794,就将下方网址中的commit: 后内容换为对应序列。在浏览器输入网址下载后得到vscode-server-linux-x64.tar.gz,通过WinSCP等工具将其上传至服务器,并放在.vscode-server/bin文件夹下。进入.vscode-server/bin,将之前可能存在的文件夹6c3e3dba23e8fadc360aed75ce363ba185c49794删除,并将手动下载的vscode-server进行解压,解压后改名为对应commit_id。此时再使用VSCode进行连接,应该就可以顺利连接服务器了。
二、在无网络的服务器离线安装扩展插件
在没有安装对应语言的插件时,使用VSCode编写代码是一件极其痛苦的事情,然而当服务器无网络或者网络不好安装插件速度极慢时,我们可以考虑离线进行安装。
首先到vscode插件市场选择我们想要安装的插件,以python为例,我们点进去,找到位于右侧的Resource: Download Extension。
下载后我们会得到对应的.vsix文件,我们将对应文件上传到服务器,此时回到VSCode的Extensions列表中,点击右上角的三个点,选择Install from VSIX,然后选择我们刚刚上传到服务器的 .vsix 文件即可自动进行安装,安装完成后便可以在左侧看到我们想要装的插件。
三、旧版本的VSCode离线安装旧版本的扩展插件
在我使用最新版VSCode时出现连接不到远程服务器的情况,于是退回了上一版本的VSCode,结果在安装扩展插件时遇到了一个棘手的问题:按照VSIX文件安装插件的方式,会出现插件与VSCode版本不兼容的问题。
这是因为从插件市场下载的自动为最新版本的插件,即使进入到插件市场对应插件的Version History中,也只会显示最近的几次更新,可能找不到对应我们旧版本VSCode的插件。
通过百度得到的途径是先获取VSCode版本号(问题一中的方法),然后复制插件市场中的下载链接,将其中的数字更改为对应版本(如1.18.1),但是很快在下载Python插件时我发现其下载连接中并无对应版本号,取而代之的是类似一个日期(如2023.14.0),经过摸索我得到了以下的解决方案:
首先在本地的旧版本VSCode搜索安装对应插件,如Python,VSCode会自动下载匹配版本的插件并进行安装,如下图红框中的v2023.14.0。
然后我们去插件市场中,找到想要的插件,点击Version History,随便找到一个Download,右键-复制链接。
将其复制到浏览器中,红框选中的即为其对应版本,我们将这个数字修改为VSCode本地安装插件的版本(即匹配当前VSCode的版本),如图1中的2023.14.0,然后下载就可以得到匹配当前版本的插件的VSIX文件。
之后就可以像问题二的操作流程一样,在远程服务器上安装扩展插件。
希望本文能帮助到大家,如果你有更优雅的解决问题方案不妨在评论区留言一起讨论~