vscode连接远程Linux服务器


记录一下vscode连接远程Linux服务器及免密登陆的基本操作,操作环境:

  1. 本地windows安装vscode
  2. 远程服务器存放代码和安装vscode-server

vscode通过commitid和vscode-server绑定,vscode编辑通过ssh调试远程服务器代码
在这里插入图片描述

一、环境安装

vscode和vscode-server在github项目如下:

 https://github.com/microsoft/vscode/tags
 https://github.com/coder/code-server/releases

1.1 下载vscode

vscode官网下载

1.2 下载vscode-sever

下载vscode-server的url需要和vscode客户端版本的commit-id对应。通过vscode面板的帮助->关于可以获取该信息:
在这里插入图片描述
vscode-server下载地址如下:

https://update.code.visualstudio.com/commit:${commit_id}/server-linux-arch/stable

其中commit_id是上面复制的提交id,而arch则是服务器的架构

由于我使用的服务器是x86架构的,所以下载的url如下:

https://update.code.visualstudio.com/commit:74f6148eb9ea00507ec113ec51c489d6ffb4b771/server-linux-x64/stable

如果是arm的话

https://update.code.visualstudio.com/commit:74f6148eb9ea00507ec113ec51c489d6ffb4b771/server-linux-arm64/stable

通过scp或者其他方式把下载的压缩包,放在服务器上
将它解压到~/.vscode-server/bin/${commit_id}目录下:
我这里用的root用户,~对应的/root
在这里插入图片描述

二、ssh链接

2.1 安装Remote-SSH

参考2.2 离线安装插件
在这里插入图片描述

2.2 设置vscode ssh

点击“远程资源管理” -> “设置” -> .ssh/config
在这里插入图片描述
在这里插入图片描述
配置.ssh\config文件如下"

Host 10.191.20.45
  HostName 10.191.20.45
  User root

  • Host:自己定义一个服务器的名字
  • HostName:服务器的IP地址
  • User:SSH登录名
  • Port:SSH连接的端口(更改过ssh端口则加上这一项)
  • IdentityFile:“私钥的文件路径”(配置了私钥则加上这一项)

点击保存,然后重启 VScode,或者点侧边栏 remote 的刷新按钮,这个时候 SSH 的列表里应该就会出现你需要连接的服务器了,在弹出的窗口依次选择Linux,Continue,然后输入你设置的用户名对应是用户密码,再按enter键,稍等一会就能连接成功。

在这里插入图片描述

2.3 设置免密登录

设置免密登录之后,每次登录就不用输入密码了

2.3.1 本地生成公私钥

打开cmd,输入

ssh-keygen

使用ssh-keygen命令生成公钥和私钥,如果执行命令前,已经存在公私钥文件,则会重新生成后进行覆盖。默认生成之后,在自己用户目录会生成 .ssh 文件夹,里面 id_rsa.pub是公钥,id_rsa是私钥。
在这里插入图片描述

2.3.2 服务器端添加公钥

服务器端添加私钥到authorized_keys

  1. 设置服务器端ssh

如果没有设置可以按以下方式设置

ssh-keygen -t rsa
  1. 将本机生成的rsa_id.pub公钥上传至服务器中

拷贝rsa_id.pub到服务器,然后将其 追加(cat命令) 写入到 /root/.ssh 目录下的authorized_keys文件中 (我这里使用的root用户,其他用户就在自己对应的目录下面)

cat id_rsa.pub >> authorized_keys

为什么是追加写入?因为可能存在其他用户的公钥,如果~/.ssh目录下没有authorized_keys文件,则需要我们手动创建一个:

touch authorized_keys

然后用cat命令写入将公钥写入文件

三、安装插件

3.1 vscode安装插件

3.1.1 在线安装插件

在这里插入图片描述

3.1.2 离线安装插件
3.1.2.1 下载插件

vscode扩展插件
在这里插入图片描述

3.1.2.2 安装插件

此处下载Remote Development 插件,其中包含ssh相关插件,后面远程链接需要
在这里插入图片描述
下载成功之后是以**.vsix**结尾的文件
在这里插入图片描述
从vscode软件中进行导入刚下载的文件
在这里插入图片描述

3.2 vscode-server安装插件

3.2.1 在线安装插件

vscode 远程ssh链接好之后,按照vscode在线安装方式就可以

3.2.2 离线安装插件
离线下载插件,我这里服务器是x64+ubuntu,所以选择 Linux x64 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1e3634f089924f628e2a0236025bdfdd.png#pic_center)

把下载好的插件放在服务器上,vscode 远程ssh链接好之后,按照2.2 离线安装插件默认打开vscode-server安装服务器上面插件,我这里下载的插件放在服务器 /root/tmp/ 下面:

在这里插入图片描述
安装插件
在这里插入图片描述

安装完成之后如下:
在这里插入图片描述
vscode的插件安装在自己用户目录:
在这里插入图片描述

vscode-server安装位置在自己home目录下面的.vscode-server下:
在这里插入图片描述
理论上直接copy到对应目录也行

四、C/C++开发建议安装clangd

4.1 clangd配置

使用vscode搭配官方的C/C++插件使用发现,经常很多代码都无法跳转,代码补全功能几乎是废的,vscode+clangd可以实现代码任意跳转补全等功能
首先自然就是卸载vscode官方提供的C/C++因为功能和clangd会有冲突,建议直接删除(禁用)

4.1.1 下载clangd vscode插件

参考 code-server 2.2 离线安装插件
在这里插入图片描述

4.1.2 下载clangd

安装好clangd插件之后只是一个套壳现在代码是不能跳转的,需要通过clangd language的支持来完成跳转,clangd language的下载方式有两种方法

  1. 在线下载:
    下载好之后任意打开一个C/CPP文件,vscode下方会出现弹窗直接install即可
    在这里插入图片描述
  2. 离线下载
    从GitHub上下载clangd-language
    在这里插入图片描述
    我这边server端是linux所以下载 clangd-linux
    将下载好的clangd解压到任意一个path下,如下

在这里插入图片描述
在这里插入图片描述
在vscode上按住ctrl+,进入配置选项,如下在clangd中填写我们下载好的language的path。
在这里插入图片描述

4.1.3 配置clangd

clangd准备工作在上述,虽然已经基本完成,但是如果打开工程代码还是会发现代码还是不能够任意跳转,这是因为clangd查询不到对应的工程头文件,因此需要生成compile_commands.json,使用compile_commands.json文件来生成索引文件,这样当我们点击某个函数时可以飞快跳转到它定义的地方。

compile_commands.json文件中记录的是每个文件的编译选项,样式如下:

4.1.3.1 cmake工程配置

cmake工程生成 compile_commands.json 文件比较简单,定以CMAKE_EXPORT_COMPILE_COMMANDS 即可。

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../
4.1.3.2 makefile 工程配置

makefile 工程没有现成的选项生成 compile_commands.json 文件。
我们可以通过 Bear 来生成,而且不需要改动代码。
安装bear:
- 可以直接 apt-get install bear
- 离线下载 bear

此处bear和libear版本需要一致

 bear_***.deb 
 libear_***.deb

安装之后,执行以下命令即可生成:

bear make [其他make本身的参数]
4.13.3 jq合并多个compile_commands.json

安装jq

注:实在安装不了,直接下载二进制文件就行

合并多个compile_commands.json如下:

jq -s 'map(.[])'  多个compile_commands.json文件地址  >  新生成compile_commands.json文件地址

五、其他参考

Microsoft Visual Studio Code 中文手册
官方快捷键大全
第一次使用 VS Code 时你应该知道的一切配置

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 下面是在 Visual Studio Code 中远程连接 Linux 的步骤: 1. 安装 Visual Studio Code Remote Development 插件。 2. 在 Visual Studio Code 中打开一个新的终端 (通过菜单栏中的"View" > "Terminal"或者使用快捷键 `Ctrl` + `` `)。 3. 在终端中输入以下命令,以安装远程连接所需的 SSH 工具: ``` sudo apt-get install openssh-server ``` 4. 在 Linux 服务器上配置 SSH,以便 Visual Studio Code 可以连接到它。具体来说,您需要确保 SSH 服务已启动并且可以从远程主机访问。 5. 在 Visual Studio Code 中,打开命令面板 (使用快捷键 `Ctrl` + `Shift` + `P`),然后输入 "Remote-SSH: Connect to Host" 并选择该选项。 6. 输入 Linux 服务器的 IP 地址或主机名,然后按下回车键。 7. 输入 Linux 服务器的用户名,然后按下回车键。 8. 输入您的密码,然后按下回车键。 9. 如果您的连接成功,则会看到 Visual Studio Code 已连接Linux 服务器,并且可以在远程环境中执行命令和编辑文件。 希望这些步骤对您有所帮助! ### 回答2: vscode是一款强大的代码编辑器,它支持远程连接Linux系统。以下是在vscode远程连接Linux的步骤: 1. 首先,确保你已经在Linux系统上安装并配置好SSH服务器。确保你可以通过SSH协议连接Linux系统。 2. 打开vscode,在侧边栏中点击“Extensions”按钮,搜索并安装“Remote - SSH”插件。 3. 安装完成后,点击vscode编辑器的左下角,会出现一个小窗口,选择“Remote-SSH:Connect to Host”选项。 4. 在弹出的输入框中,输入你的Linux系统的SSH地址。例如:username@hostname。 5. 如果你的SSH是通过非标准端口连接的,点击“Open Configuration”按钮,编辑SSH配置文件,将端口号修改为正确的端口号。 6. 输入完成后,点击连接按钮,vscode会提示输入你的SSH密码。输入正确密码后,vscode会开始建立远程连接。 7. 建立连接后,vscode会将远程服务器的文件资源加载到侧边栏中。你可以通过侧边栏中的文件浏览器来查看、编辑远程服务器上的文件。 8. 如果你需要在远程服务器上执行命令,可以点击vscode编辑器的左下角,会出现一个小窗口,选择“Remote-SSH:Open in Terminal”选项。这将在一个新的终端窗口中打开远程服务器,并且你可以在其中执行命令。 以上就是使用vscode远程连接Linux系统的步骤。通过远程连接,你可以方便地在本地使用vscode编辑器对远程服务器进行开发和调试。 ### 回答3: 使用VSCode远程连接Linux系统可以大大提高开发效率和方便性。以下是连接的步骤: 步骤一:安装VSCode及相关插件 首先,需要下载并安装VSCode编辑器。在安装完成后,打开VSCode,点击扩展按钮,搜索"Remote Development"插件并安装。 步骤二:安装OpenSSH服务器Linux系统上安装OpenSSH服务器以便远程连接。在终端中输入以下命令来安装OpenSSH服务器: ``` sudo apt-get update sudo apt-get install openssh-server ``` 步骤三:开启SSH服务 在终端中输入以下命令来启动SSH服务: ``` sudo service ssh start ``` 步骤四:生成SSH公钥私钥对 在本地计算机上生成SSH公钥私钥对,以便远程连接Linux系统。在终端中输入以下命令: ``` ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 步骤五:将公钥复制到Linux系统中 将生成的公钥复制到Linux系统中,以便SSH认证。在终端中输入以下命令: ``` ssh-copy-id username@remote_host ``` 将"username"替换为你的Linux系统的用户名,"remote_host"替换为你的Linux系统的IP地址或主机名。 步骤六:打开VSCode远程窗口 在VSCode中,点击左下角的绿色图标,并选择"Remote-SSH: Connect to Host"。在弹出的列表中,选择刚才设置的远程连接。 步骤七:连接远程Linux系统 VSCode会自动建立SSH连接,并显示远程Linux系统的文件和目录。你可以通过VSCode远程系统进行编码、调试等操作。 通过上述步骤,你就可以使用VSCode远程连接Linux系统,进行开发和调试了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值